./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memcleanup.prp --file ../sv-benchmarks/c/verifythis/tree_del_iter.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (memcleanup) Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/verifythis/tree_del_iter.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-memcleanup) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash cce1bb7a06b9dd56fbf663e182ffe801720ee05ee19a126a08070f1616bc4afe --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:37:46,448 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:37:46,451 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:37:46,489 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:37:46,490 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:37:46,493 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:37:46,494 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:37:46,498 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:37:46,500 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:37:46,505 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:37:46,506 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:37:46,507 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:37:46,507 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:37:46,509 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:37:46,510 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:37:46,513 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:37:46,513 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:37:46,514 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:37:46,516 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:37:46,518 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:37:46,520 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:37:46,521 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:37:46,522 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:37:46,524 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:37:46,526 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:37:46,527 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:37:46,527 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:37:46,528 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:37:46,528 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:37:46,529 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:37:46,529 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:37:46,530 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:37:46,531 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:37:46,531 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:37:46,532 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:37:46,532 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:37:46,533 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:37:46,533 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:37:46,533 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:37:46,534 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:37:46,534 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:37:46,535 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-32bit-Automizer_Default.epf [2022-02-20 23:37:46,562 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:37:46,562 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:37:46,563 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:37:46,563 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:37:46,564 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:37:46,564 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:37:46,564 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:37:46,564 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:37:46,565 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:37:46,565 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:37:46,565 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:37:46,566 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:37:46,566 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:37:46,566 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:37:46,566 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:37:46,566 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:37:46,566 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:37:46,566 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:37:46,567 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:37:46,567 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:37:46,567 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:37:46,567 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:37:46,567 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:37:46,567 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:37:46,568 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:46,568 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:37:46,568 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:37:46,569 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:37:46,569 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:37:46,569 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-memcleanup) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> cce1bb7a06b9dd56fbf663e182ffe801720ee05ee19a126a08070f1616bc4afe [2022-02-20 23:37:46,780 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:37:46,802 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:37:46,804 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:37:46,805 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:37:46,806 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:37:46,807 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_del_iter.c [2022-02-20 23:37:46,864 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a870a155/dbae1e82dcdd43e6946c646f10d4bec1/FLAG7522033f6 [2022-02-20 23:37:47,206 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:37:47,208 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_iter.c [2022-02-20 23:37:47,220 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a870a155/dbae1e82dcdd43e6946c646f10d4bec1/FLAG7522033f6 [2022-02-20 23:37:47,605 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a870a155/dbae1e82dcdd43e6946c646f10d4bec1 [2022-02-20 23:37:47,609 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:37:47,611 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:37:47,615 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:47,615 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:37:47,618 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:37:47,619 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:47" (1/1) ... [2022-02-20 23:37:47,621 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@d4c7280 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:47, skipping insertion in model container [2022-02-20 23:37:47,621 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:47" (1/1) ... [2022-02-20 23:37:47,627 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:37:47,648 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:47,811 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_iter.c[586,599] [2022-02-20 23:37:47,841 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:47,852 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:47,860 ERROR L326 MainTranslator]: Unsupported Syntax: Found a cast between two array/pointer types where the value type is smaller than the cast-to type while using memory model HoenickeLindenmann_Original (while Not using bitvector translation) [2022-02-20 23:37:47,861 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@48f17525 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:47, skipping insertion in model container [2022-02-20 23:37:47,861 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:47,862 INFO L184 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2022-02-20 23:37:47,864 INFO L158 Benchmark]: Toolchain (without parser) took 252.00ms. Allocated memory is still 123.7MB. Free memory was 87.5MB in the beginning and 98.6MB in the end (delta: -11.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 23:37:47,866 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 123.7MB. Free memory was 95.4MB in the beginning and 95.4MB in the end (delta: 21.2kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:37:47,867 INFO L158 Benchmark]: CACSL2BoogieTranslator took 246.81ms. Allocated memory is still 123.7MB. Free memory was 87.5MB in the beginning and 98.6MB in the end (delta: -11.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 23:37:47,869 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.15ms. Allocated memory is still 123.7MB. Free memory was 95.4MB in the beginning and 95.4MB in the end (delta: 21.2kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 246.81ms. Allocated memory is still 123.7MB. Free memory was 87.5MB in the beginning and 98.6MB in the end (delta: -11.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - UnsupportedSyntaxResult [Line: 28]: 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/verifythis/tree_del_iter.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-memcleanup) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash cce1bb7a06b9dd56fbf663e182ffe801720ee05ee19a126a08070f1616bc4afe --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:37:49,401 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:37:49,403 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:37:49,430 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:37:49,430 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:37:49,433 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:37:49,434 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:37:49,438 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:37:49,440 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:37:49,444 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:37:49,445 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:37:49,446 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:37:49,452 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:37:49,455 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:37:49,456 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:37:49,461 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:37:49,462 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:37:49,462 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:37:49,464 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:37:49,467 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:37:49,469 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:37:49,480 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:37:49,481 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:37:49,482 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:37:49,485 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:37:49,485 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:37:49,485 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:37:49,486 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:37:49,487 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:37:49,487 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:37:49,488 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:37:49,488 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:37:49,489 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:37:49,490 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:37:49,491 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:37:49,491 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:37:49,491 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:37:49,492 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:37:49,492 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:37:49,493 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:37:49,493 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:37:49,496 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-32bit-Automizer_Bitvector.epf [2022-02-20 23:37:49,528 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:37:49,528 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:37:49,529 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:37:49,530 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:37:49,530 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:37:49,530 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:37:49,531 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:37:49,531 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:37:49,532 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:37:49,532 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:37:49,532 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:37:49,533 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:37:49,533 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:37:49,533 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:37:49,533 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:37:49,533 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:37:49,533 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:37:49,534 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:37:49,534 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:37:49,534 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:37:49,534 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:37:49,534 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:37:49,534 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:37:49,535 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:37:49,535 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:37:49,535 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:37:49,535 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:49,535 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:37:49,535 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:37:49,535 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:37:49,536 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:37:49,536 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:37:49,536 INFO L138 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-memcleanup) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> cce1bb7a06b9dd56fbf663e182ffe801720ee05ee19a126a08070f1616bc4afe [2022-02-20 23:37:49,778 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:37:49,798 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:37:49,800 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:37:49,801 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:37:49,801 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:37:49,802 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_del_iter.c [2022-02-20 23:37:49,848 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/539775f04/a4062b8c748f4c869dbc82f80cb26c71/FLAGb7516cb62 [2022-02-20 23:37:50,245 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:37:50,247 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_iter.c [2022-02-20 23:37:50,253 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/539775f04/a4062b8c748f4c869dbc82f80cb26c71/FLAGb7516cb62 [2022-02-20 23:37:50,264 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/539775f04/a4062b8c748f4c869dbc82f80cb26c71 [2022-02-20 23:37:50,268 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:37:50,269 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:37:50,270 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:50,270 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:37:50,272 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:37:50,273 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,274 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7de568aa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50, skipping insertion in model container [2022-02-20 23:37:50,274 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,279 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:37:50,296 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:50,422 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_iter.c[586,599] [2022-02-20 23:37:50,475 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:50,501 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:50,522 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 23:37:50,531 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:50,538 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_iter.c[586,599] [2022-02-20 23:37:50,555 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:50,569 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:50,583 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:37:50,595 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_iter.c[586,599] [2022-02-20 23:37:50,616 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:50,623 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:50,646 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:37:50,647 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50 WrapperNode [2022-02-20 23:37:50,647 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:50,648 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:50,649 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:37:50,649 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:37:50,654 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,675 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,704 INFO L137 Inliner]: procedures = 31, calls = 64, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 122 [2022-02-20 23:37:50,705 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:50,706 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:37:50,706 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:37:50,707 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:37:50,712 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,713 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,727 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,729 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,743 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,752 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,758 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,762 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:37:50,765 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:37:50,765 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:37:50,765 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:37:50,766 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (1/1) ... [2022-02-20 23:37:50,771 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:50,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:50,790 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 23:37:50,810 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 23:37:50,821 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:37:50,822 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:37:50,822 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:37:50,822 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:37:50,822 INFO L130 BoogieDeclarations]: Found specification of procedure min [2022-02-20 23:37:50,822 INFO L138 BoogieDeclarations]: Found implementation of procedure min [2022-02-20 23:37:50,822 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 23:37:50,823 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-02-20 23:37:50,823 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-02-20 23:37:50,823 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:37:50,823 INFO L130 BoogieDeclarations]: Found specification of procedure nondet_tree [2022-02-20 23:37:50,823 INFO L138 BoogieDeclarations]: Found implementation of procedure nondet_tree [2022-02-20 23:37:50,824 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:37:50,824 INFO L130 BoogieDeclarations]: Found specification of procedure size [2022-02-20 23:37:50,824 INFO L138 BoogieDeclarations]: Found implementation of procedure size [2022-02-20 23:37:50,824 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:37:50,824 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:37:50,824 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 23:37:50,824 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 23:37:50,825 INFO L130 BoogieDeclarations]: Found specification of procedure tree_inorder [2022-02-20 23:37:50,825 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_inorder [2022-02-20 23:37:50,825 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:37:50,825 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:37:50,910 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:37:50,911 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:37:51,510 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:37:51,519 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:37:51,520 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 23:37:51,521 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:51 BoogieIcfgContainer [2022-02-20 23:37:51,521 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:37:51,522 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:37:51,522 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:37:51,524 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:37:51,525 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:37:50" (1/3) ... [2022-02-20 23:37:51,525 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@500a2424 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:51, skipping insertion in model container [2022-02-20 23:37:51,525 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:50" (2/3) ... [2022-02-20 23:37:51,526 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@500a2424 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:51, skipping insertion in model container [2022-02-20 23:37:51,526 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:51" (3/3) ... [2022-02-20 23:37:51,527 INFO L111 eAbstractionObserver]: Analyzing ICFG tree_del_iter.c [2022-02-20 23:37:51,530 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:37:51,531 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 64 error locations. [2022-02-20 23:37:51,558 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:37:51,563 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 23:37:51,563 INFO L340 AbstractCegarLoop]: Starting to check reachability of 64 error locations. [2022-02-20 23:37:51,583 INFO L276 IsEmpty]: Start isEmpty. Operand has 190 states, 99 states have (on average 1.797979797979798) internal successors, (178), 163 states have internal predecessors, (178), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 23:37:51,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:37:51,589 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:51,589 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:37:51,589 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting nondet_treeErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:37:51,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:51,597 INFO L85 PathProgramCache]: Analyzing trace with hash 88048840, now seen corresponding path program 1 times [2022-02-20 23:37:51,605 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:51,606 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1467238539] [2022-02-20 23:37:51,606 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:51,607 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:51,607 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:51,609 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:51,611 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 23:37:51,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:51,686 INFO L263 TraceCheckSpWp]: Trace formula consists of 36 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:37:51,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:51,702 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:51,769 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:51,781 INFO L290 TraceCheckUtils]: 0: Hoare triple {193#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {193#true} is VALID [2022-02-20 23:37:51,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {193#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {193#true} is VALID [2022-02-20 23:37:51,781 INFO L272 TraceCheckUtils]: 2: Hoare triple {193#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {193#true} is VALID [2022-02-20 23:37:51,783 INFO L290 TraceCheckUtils]: 3: Hoare triple {193#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {207#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:51,783 INFO L290 TraceCheckUtils]: 4: Hoare triple {207#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {194#false} is VALID [2022-02-20 23:37:51,784 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:51,784 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:51,785 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:51,785 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1467238539] [2022-02-20 23:37:51,785 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1467238539] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:51,785 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:51,786 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:37:51,787 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1615536886] [2022-02-20 23:37:51,787 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:51,790 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 5 [2022-02-20 23:37:51,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:51,793 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:51,799 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:37:51,800 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:51,800 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:51,813 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:51,814 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:51,820 INFO L87 Difference]: Start difference. First operand has 190 states, 99 states have (on average 1.797979797979798) internal successors, (178), 163 states have internal predecessors, (178), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,489 INFO L93 Difference]: Finished difference Result 191 states and 216 transitions. [2022-02-20 23:37:52,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:52,489 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 5 [2022-02-20 23:37:52,489 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:52,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 222 transitions. [2022-02-20 23:37:52,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 222 transitions. [2022-02-20 23:37:52,518 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 222 transitions. [2022-02-20 23:37:52,748 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:52,765 INFO L225 Difference]: With dead ends: 191 [2022-02-20 23:37:52,765 INFO L226 Difference]: Without dead ends: 188 [2022-02-20 23:37:52,766 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:37:52,772 INFO L933 BasicCegarLoop]: 213 mSDtfsCounter, 6 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 73 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 350 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 73 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:52,772 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 350 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 73 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:52,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-02-20 23:37:52,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 186. [2022-02-20 23:37:52,811 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:52,816 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 186 states, 97 states have (on average 1.731958762886598) internal successors, (168), 159 states have internal predecessors, (168), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 23:37:52,818 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 186 states, 97 states have (on average 1.731958762886598) internal successors, (168), 159 states have internal predecessors, (168), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 23:37:52,819 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 186 states, 97 states have (on average 1.731958762886598) internal successors, (168), 159 states have internal predecessors, (168), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 23:37:52,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,839 INFO L93 Difference]: Finished difference Result 188 states and 212 transitions. [2022-02-20 23:37:52,839 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 212 transitions. [2022-02-20 23:37:52,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:52,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:52,849 INFO L74 IsIncluded]: Start isIncluded. First operand has 186 states, 97 states have (on average 1.731958762886598) internal successors, (168), 159 states have internal predecessors, (168), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 188 states. [2022-02-20 23:37:52,849 INFO L87 Difference]: Start difference. First operand has 186 states, 97 states have (on average 1.731958762886598) internal successors, (168), 159 states have internal predecessors, (168), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 188 states. [2022-02-20 23:37:52,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,861 INFO L93 Difference]: Finished difference Result 188 states and 212 transitions. [2022-02-20 23:37:52,861 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 212 transitions. [2022-02-20 23:37:52,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:52,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:52,866 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:52,866 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:52,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 186 states, 97 states have (on average 1.731958762886598) internal successors, (168), 159 states have internal predecessors, (168), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 23:37:52,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 186 states to 186 states and 208 transitions. [2022-02-20 23:37:52,874 INFO L78 Accepts]: Start accepts. Automaton has 186 states and 208 transitions. Word has length 5 [2022-02-20 23:37:52,874 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:52,875 INFO L470 AbstractCegarLoop]: Abstraction has 186 states and 208 transitions. [2022-02-20 23:37:52,875 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,875 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 208 transitions. [2022-02-20 23:37:52,875 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:37:52,875 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:52,875 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:37:52,884 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Ended with exit code 0 [2022-02-20 23:37:53,081 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:53,082 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting nondet_treeErr1REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:37:53,082 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:53,082 INFO L85 PathProgramCache]: Analyzing trace with hash 88048841, now seen corresponding path program 1 times [2022-02-20 23:37:53,083 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:53,083 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [984073688] [2022-02-20 23:37:53,083 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:53,083 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:53,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:53,084 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:53,086 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 23:37:53,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,117 INFO L263 TraceCheckSpWp]: Trace formula consists of 36 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:37:53,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,123 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:53,151 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:53,159 INFO L290 TraceCheckUtils]: 0: Hoare triple {963#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {963#true} is VALID [2022-02-20 23:37:53,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {963#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {963#true} is VALID [2022-02-20 23:37:53,160 INFO L272 TraceCheckUtils]: 2: Hoare triple {963#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {963#true} is VALID [2022-02-20 23:37:53,161 INFO L290 TraceCheckUtils]: 3: Hoare triple {963#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {977#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:53,161 INFO L290 TraceCheckUtils]: 4: Hoare triple {977#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~n~0.offset), #length[~n~0.base]) && ~bvule32(~n~0.offset, ~bvadd32(4bv32, ~n~0.offset))) && ~bvule32(0bv32, ~n~0.offset)); {964#false} is VALID [2022-02-20 23:37:53,161 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:53,162 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:53,162 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:53,162 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [984073688] [2022-02-20 23:37:53,162 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [984073688] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:53,162 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:53,162 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:37:53,162 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1825842910] [2022-02-20 23:37:53,162 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:53,163 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 5 [2022-02-20 23:37:53,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:53,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,169 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:37:53,170 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:53,170 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:53,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:53,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:53,171 INFO L87 Difference]: Start difference. First operand 186 states and 208 transitions. Second operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,777 INFO L93 Difference]: Finished difference Result 185 states and 207 transitions. [2022-02-20 23:37:53,777 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:53,777 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 5 [2022-02-20 23:37:53,777 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:53,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 208 transitions. [2022-02-20 23:37:53,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 208 transitions. [2022-02-20 23:37:53,782 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 208 transitions. [2022-02-20 23:37:53,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:54,012 INFO L225 Difference]: With dead ends: 185 [2022-02-20 23:37:54,013 INFO L226 Difference]: Without dead ends: 185 [2022-02-20 23:37:54,013 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:37:54,014 INFO L933 BasicCegarLoop]: 206 mSDtfsCounter, 2 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 353 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:54,014 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 353 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:54,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-02-20 23:37:54,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 185. [2022-02-20 23:37:54,019 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:54,020 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 185 states, 97 states have (on average 1.7216494845360826) internal successors, (167), 158 states have internal predecessors, (167), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 23:37:54,020 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 185 states, 97 states have (on average 1.7216494845360826) internal successors, (167), 158 states have internal predecessors, (167), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 23:37:54,021 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 185 states, 97 states have (on average 1.7216494845360826) internal successors, (167), 158 states have internal predecessors, (167), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 23:37:54,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:54,026 INFO L93 Difference]: Finished difference Result 185 states and 207 transitions. [2022-02-20 23:37:54,026 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 207 transitions. [2022-02-20 23:37:54,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:54,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:54,028 INFO L74 IsIncluded]: Start isIncluded. First operand has 185 states, 97 states have (on average 1.7216494845360826) internal successors, (167), 158 states have internal predecessors, (167), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 185 states. [2022-02-20 23:37:54,028 INFO L87 Difference]: Start difference. First operand has 185 states, 97 states have (on average 1.7216494845360826) internal successors, (167), 158 states have internal predecessors, (167), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 185 states. [2022-02-20 23:37:54,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:54,033 INFO L93 Difference]: Finished difference Result 185 states and 207 transitions. [2022-02-20 23:37:54,033 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 207 transitions. [2022-02-20 23:37:54,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:54,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:54,034 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:54,034 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:54,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 185 states, 97 states have (on average 1.7216494845360826) internal successors, (167), 158 states have internal predecessors, (167), 20 states have call successors, (20), 6 states have call predecessors, (20), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 23:37:54,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 207 transitions. [2022-02-20 23:37:54,039 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 207 transitions. Word has length 5 [2022-02-20 23:37:54,039 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:54,039 INFO L470 AbstractCegarLoop]: Abstraction has 185 states and 207 transitions. [2022-02-20 23:37:54,040 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:54,040 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 207 transitions. [2022-02-20 23:37:54,040 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:37:54,040 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:54,040 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:54,049 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Ended with exit code 0 [2022-02-20 23:37:54,249 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:54,251 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting minErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:37:54,251 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:54,251 INFO L85 PathProgramCache]: Analyzing trace with hash -163614216, now seen corresponding path program 1 times [2022-02-20 23:37:54,252 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:54,252 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1396306652] [2022-02-20 23:37:54,252 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:54,252 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:54,252 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:54,253 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:54,255 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 23:37:54,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:54,291 INFO L263 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:37:54,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:54,300 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:54,405 INFO L290 TraceCheckUtils]: 0: Hoare triple {1720#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1720#true} is VALID [2022-02-20 23:37:54,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {1720#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {1720#true} is VALID [2022-02-20 23:37:54,405 INFO L272 TraceCheckUtils]: 2: Hoare triple {1720#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {1720#true} is VALID [2022-02-20 23:37:54,407 INFO L290 TraceCheckUtils]: 3: Hoare triple {1720#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1734#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,410 INFO L290 TraceCheckUtils]: 4: Hoare triple {1734#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {1734#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,410 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1734#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {1720#true} #266#return; {1741#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret45#1.offset|) (= |ULTIMATE.start_main_#t~ret45#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,411 INFO L290 TraceCheckUtils]: 6: Hoare triple {1741#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret45#1.offset|) (= |ULTIMATE.start_main_#t~ret45#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret45#1.base, main_#t~ret45#1.offset;havoc task_#t~ret32#1, task_#t~ret33#1, task_#t~malloc34#1.base, task_#t~malloc34#1.offset, task_#t~ret35#1, task_#t~mem36#1, task_#t~ret37#1.base, task_#t~ret37#1.offset, task_#t~mem38#1, task_#t~ret39#1, task_#t~malloc40#1.base, task_#t~malloc40#1.offset, task_#t~ret41#1, task_#t~mem43#1, task_#t~mem44#1, task_#t~post42#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~0#1.base, task_~r~0#1.offset, task_~m~1#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {1745#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,411 INFO L272 TraceCheckUtils]: 7: Hoare triple {1745#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret32#1 := min(task_~t#1.base, task_~t#1.offset); {1749#(and (= |min_#in~n.base| (_ bv0 32)) (= |min_#in~n.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {1749#(and (= |min_#in~n.base| (_ bv0 32)) (= |min_#in~n.offset| (_ bv0 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1753#(and (= min_~n.base (_ bv0 32)) (= min_~n.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:54,413 INFO L290 TraceCheckUtils]: 9: Hoare triple {1753#(and (= min_~n.base (_ bv0 32)) (= min_~n.offset (_ bv0 32)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {1721#false} is VALID [2022-02-20 23:37:54,413 INFO L290 TraceCheckUtils]: 10: Hoare triple {1721#false} assume !(1bv1 == #valid[~n.base]); {1721#false} is VALID [2022-02-20 23:37:54,413 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:54,414 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:54,415 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:54,415 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1396306652] [2022-02-20 23:37:54,415 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1396306652] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:54,415 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:54,415 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:37:54,416 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [865249456] [2022-02-20 23:37:54,416 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:54,416 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 5 states have internal predecessors, (8), 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 11 [2022-02-20 23:37:54,416 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:54,416 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 5 states have internal predecessors, (8), 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:37:54,424 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:37:54,425 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:37:54,426 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:54,427 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:37:54,427 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:37:54,427 INFO L87 Difference]: Start difference. First operand 185 states and 207 transitions. Second operand has 7 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 5 states have internal predecessors, (8), 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:37:56,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:56,180 INFO L93 Difference]: Finished difference Result 297 states and 335 transitions. [2022-02-20 23:37:56,180 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:37:56,181 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 5 states have internal predecessors, (8), 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 11 [2022-02-20 23:37:56,181 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:56,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 5 states have internal predecessors, (8), 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:37:56,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 336 transitions. [2022-02-20 23:37:56,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 5 states have internal predecessors, (8), 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:37:56,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 336 transitions. [2022-02-20 23:37:56,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 336 transitions. [2022-02-20 23:37:56,544 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 336 edges. 336 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:56,571 INFO L225 Difference]: With dead ends: 297 [2022-02-20 23:37:56,571 INFO L226 Difference]: Without dead ends: 297 [2022-02-20 23:37:56,571 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:37:56,572 INFO L933 BasicCegarLoop]: 213 mSDtfsCounter, 193 mSDsluCounter, 1030 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 193 SdHoareTripleChecker+Valid, 1243 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:56,572 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [193 Valid, 1243 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:56,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2022-02-20 23:37:56,579 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 193. [2022-02-20 23:37:56,579 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:56,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 297 states. Second operand has 193 states, 102 states have (on average 1.6862745098039216) internal successors, (172), 164 states have internal predecessors, (172), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 21 states have call predecessors, (24), 21 states have call successors, (24) [2022-02-20 23:37:56,580 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand has 193 states, 102 states have (on average 1.6862745098039216) internal successors, (172), 164 states have internal predecessors, (172), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 21 states have call predecessors, (24), 21 states have call successors, (24) [2022-02-20 23:37:56,580 INFO L87 Difference]: Start difference. First operand 297 states. Second operand has 193 states, 102 states have (on average 1.6862745098039216) internal successors, (172), 164 states have internal predecessors, (172), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 21 states have call predecessors, (24), 21 states have call successors, (24) [2022-02-20 23:37:56,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:56,595 INFO L93 Difference]: Finished difference Result 297 states and 335 transitions. [2022-02-20 23:37:56,595 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 335 transitions. [2022-02-20 23:37:56,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:56,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:56,598 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 102 states have (on average 1.6862745098039216) internal successors, (172), 164 states have internal predecessors, (172), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 21 states have call predecessors, (24), 21 states have call successors, (24) Second operand 297 states. [2022-02-20 23:37:56,600 INFO L87 Difference]: Start difference. First operand has 193 states, 102 states have (on average 1.6862745098039216) internal successors, (172), 164 states have internal predecessors, (172), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 21 states have call predecessors, (24), 21 states have call successors, (24) Second operand 297 states. [2022-02-20 23:37:56,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:56,614 INFO L93 Difference]: Finished difference Result 297 states and 335 transitions. [2022-02-20 23:37:56,614 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 335 transitions. [2022-02-20 23:37:56,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:56,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:56,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:56,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:56,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 102 states have (on average 1.6862745098039216) internal successors, (172), 164 states have internal predecessors, (172), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 21 states have call predecessors, (24), 21 states have call successors, (24) [2022-02-20 23:37:56,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 217 transitions. [2022-02-20 23:37:56,621 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 217 transitions. Word has length 11 [2022-02-20 23:37:56,622 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:56,622 INFO L470 AbstractCegarLoop]: Abstraction has 193 states and 217 transitions. [2022-02-20 23:37:56,622 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 5 states have internal predecessors, (8), 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:37:56,622 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 217 transitions. [2022-02-20 23:37:56,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:37:56,623 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:56,623 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:56,629 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:56,827 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:56,827 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting nondet_treeErr2REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:37:56,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:56,828 INFO L85 PathProgramCache]: Analyzing trace with hash -916126343, now seen corresponding path program 1 times [2022-02-20 23:37:56,828 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:56,828 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1308308549] [2022-02-20 23:37:56,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:56,828 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:56,828 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:56,829 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:56,831 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 23:37:56,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,872 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:37:56,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:56,895 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:56,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {2847#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2847#true} is VALID [2022-02-20 23:37:56,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {2847#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {2847#true} is VALID [2022-02-20 23:37:56,927 INFO L272 TraceCheckUtils]: 2: Hoare triple {2847#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {2847#true} is VALID [2022-02-20 23:37:56,928 INFO L290 TraceCheckUtils]: 3: Hoare triple {2847#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {2861#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:56,928 INFO L290 TraceCheckUtils]: 4: Hoare triple {2861#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {2861#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:56,928 INFO L290 TraceCheckUtils]: 5: Hoare triple {2861#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {2861#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:56,929 INFO L272 TraceCheckUtils]: 6: Hoare triple {2861#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2871#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,929 INFO L290 TraceCheckUtils]: 7: Hoare triple {2871#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2871#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {2871#(= |old(#valid)| |#valid|)} assume true; {2871#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,930 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2871#(= |old(#valid)| |#valid|)} {2861#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #254#return; {2861#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:56,931 INFO L290 TraceCheckUtils]: 10: Hoare triple {2861#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {2848#false} is VALID [2022-02-20 23:37:56,931 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:56,931 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:56,931 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:56,932 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1308308549] [2022-02-20 23:37:56,932 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1308308549] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:56,932 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:56,932 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:56,932 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1725068827] [2022-02-20 23:37:56,932 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:56,933 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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 11 [2022-02-20 23:37:56,933 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:56,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:56,942 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:37:56,943 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:37:56,943 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:56,944 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:37:56,944 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:56,944 INFO L87 Difference]: Start difference. First operand 193 states and 217 transitions. Second operand has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:57,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:57,955 INFO L93 Difference]: Finished difference Result 197 states and 221 transitions. [2022-02-20 23:37:57,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:37:57,955 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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 11 [2022-02-20 23:37:57,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:57,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:57,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 217 transitions. [2022-02-20 23:37:57,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:57,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 217 transitions. [2022-02-20 23:37:57,960 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 217 transitions. [2022-02-20 23:37:58,152 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:58,156 INFO L225 Difference]: With dead ends: 197 [2022-02-20 23:37:58,157 INFO L226 Difference]: Without dead ends: 197 [2022-02-20 23:37:58,157 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:58,158 INFO L933 BasicCegarLoop]: 178 mSDtfsCounter, 64 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 229 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 309 SdHoareTripleChecker+Invalid, 252 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 229 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:58,160 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [70 Valid, 309 Invalid, 252 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 229 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:37:58,161 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-02-20 23:37:58,171 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 195. [2022-02-20 23:37:58,175 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:58,176 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 195 states, 104 states have (on average 1.6923076923076923) internal successors, (176), 164 states have internal predecessors, (176), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 23 states have call predecessors, (24), 21 states have call successors, (24) [2022-02-20 23:37:58,176 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 195 states, 104 states have (on average 1.6923076923076923) internal successors, (176), 164 states have internal predecessors, (176), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 23 states have call predecessors, (24), 21 states have call successors, (24) [2022-02-20 23:37:58,177 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 195 states, 104 states have (on average 1.6923076923076923) internal successors, (176), 164 states have internal predecessors, (176), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 23 states have call predecessors, (24), 21 states have call successors, (24) [2022-02-20 23:37:58,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:58,181 INFO L93 Difference]: Finished difference Result 197 states and 221 transitions. [2022-02-20 23:37:58,181 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 221 transitions. [2022-02-20 23:37:58,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:58,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:58,183 INFO L74 IsIncluded]: Start isIncluded. First operand has 195 states, 104 states have (on average 1.6923076923076923) internal successors, (176), 164 states have internal predecessors, (176), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 23 states have call predecessors, (24), 21 states have call successors, (24) Second operand 197 states. [2022-02-20 23:37:58,183 INFO L87 Difference]: Start difference. First operand has 195 states, 104 states have (on average 1.6923076923076923) internal successors, (176), 164 states have internal predecessors, (176), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 23 states have call predecessors, (24), 21 states have call successors, (24) Second operand 197 states. [2022-02-20 23:37:58,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:58,187 INFO L93 Difference]: Finished difference Result 197 states and 221 transitions. [2022-02-20 23:37:58,188 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 221 transitions. [2022-02-20 23:37:58,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:58,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:58,189 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:58,189 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:58,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 195 states, 104 states have (on average 1.6923076923076923) internal successors, (176), 164 states have internal predecessors, (176), 21 states have call successors, (21), 7 states have call predecessors, (21), 8 states have return successors, (24), 23 states have call predecessors, (24), 21 states have call successors, (24) [2022-02-20 23:37:58,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 195 states to 195 states and 221 transitions. [2022-02-20 23:37:58,194 INFO L78 Accepts]: Start accepts. Automaton has 195 states and 221 transitions. Word has length 11 [2022-02-20 23:37:58,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:58,194 INFO L470 AbstractCegarLoop]: Abstraction has 195 states and 221 transitions. [2022-02-20 23:37:58,194 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:58,195 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 221 transitions. [2022-02-20 23:37:58,195 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:37:58,195 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:58,195 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:58,203 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Ended with exit code 0 [2022-02-20 23:37:58,403 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:58,403 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting nondet_treeErr3REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:37:58,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:58,404 INFO L85 PathProgramCache]: Analyzing trace with hash -916126342, now seen corresponding path program 1 times [2022-02-20 23:37:58,404 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:58,404 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [963379926] [2022-02-20 23:37:58,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:58,404 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:58,405 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:58,406 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:58,409 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 23:37:58,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:58,456 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:37:58,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:58,464 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:58,478 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:58,524 INFO L290 TraceCheckUtils]: 0: Hoare triple {3669#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3669#true} is VALID [2022-02-20 23:37:58,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {3669#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {3669#true} is VALID [2022-02-20 23:37:58,525 INFO L272 TraceCheckUtils]: 2: Hoare triple {3669#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {3669#true} is VALID [2022-02-20 23:37:58,526 INFO L290 TraceCheckUtils]: 3: Hoare triple {3669#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {3683#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:58,526 INFO L290 TraceCheckUtils]: 4: Hoare triple {3683#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {3683#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:58,527 INFO L290 TraceCheckUtils]: 5: Hoare triple {3683#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~nondet7; {3683#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:58,527 INFO L272 TraceCheckUtils]: 6: Hoare triple {3683#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {3693#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:37:58,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {3693#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {3693#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:37:58,528 INFO L290 TraceCheckUtils]: 8: Hoare triple {3693#(= |#length| |old(#length)|)} assume true; {3693#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:37:58,529 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3693#(= |#length| |old(#length)|)} {3683#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #254#return; {3683#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:58,529 INFO L290 TraceCheckUtils]: 10: Hoare triple {3683#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, ~n~0.offset)), #length[~n~0.base]) && ~bvule32(~bvadd32(4bv32, ~n~0.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, ~n~0.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, ~n~0.offset))); {3670#false} is VALID [2022-02-20 23:37:58,530 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:58,530 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:58,530 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:58,530 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [963379926] [2022-02-20 23:37:58,530 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [963379926] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:58,530 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:58,530 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:58,531 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1362898468] [2022-02-20 23:37:58,531 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:58,531 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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 11 [2022-02-20 23:37:58,531 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:58,531 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:58,542 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:37:58,543 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:37:58,543 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:58,543 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:37:58,544 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:58,544 INFO L87 Difference]: Start difference. First operand 195 states and 221 transitions. Second operand has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:59,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:59,608 INFO L93 Difference]: Finished difference Result 201 states and 231 transitions. [2022-02-20 23:37:59,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:37:59,609 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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 11 [2022-02-20 23:37:59,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:59,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:59,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 225 transitions. [2022-02-20 23:37:59,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:59,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 225 transitions. [2022-02-20 23:37:59,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 225 transitions. [2022-02-20 23:37:59,807 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 225 edges. 225 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:59,812 INFO L225 Difference]: With dead ends: 201 [2022-02-20 23:37:59,812 INFO L226 Difference]: Without dead ends: 201 [2022-02-20 23:37:59,812 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:59,813 INFO L933 BasicCegarLoop]: 182 mSDtfsCounter, 62 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 336 SdHoareTripleChecker+Invalid, 234 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:59,814 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 336 Invalid, 234 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:37:59,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2022-02-20 23:37:59,820 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 198. [2022-02-20 23:37:59,820 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:59,821 INFO L82 GeneralOperation]: Start isEquivalent. First operand 201 states. Second operand has 198 states, 106 states have (on average 1.669811320754717) internal successors, (177), 166 states have internal predecessors, (177), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (26), 24 states have call predecessors, (26), 22 states have call successors, (26) [2022-02-20 23:37:59,822 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand has 198 states, 106 states have (on average 1.669811320754717) internal successors, (177), 166 states have internal predecessors, (177), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (26), 24 states have call predecessors, (26), 22 states have call successors, (26) [2022-02-20 23:37:59,822 INFO L87 Difference]: Start difference. First operand 201 states. Second operand has 198 states, 106 states have (on average 1.669811320754717) internal successors, (177), 166 states have internal predecessors, (177), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (26), 24 states have call predecessors, (26), 22 states have call successors, (26) [2022-02-20 23:37:59,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:59,840 INFO L93 Difference]: Finished difference Result 201 states and 231 transitions. [2022-02-20 23:37:59,840 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 231 transitions. [2022-02-20 23:37:59,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:59,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:59,841 INFO L74 IsIncluded]: Start isIncluded. First operand has 198 states, 106 states have (on average 1.669811320754717) internal successors, (177), 166 states have internal predecessors, (177), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (26), 24 states have call predecessors, (26), 22 states have call successors, (26) Second operand 201 states. [2022-02-20 23:37:59,842 INFO L87 Difference]: Start difference. First operand has 198 states, 106 states have (on average 1.669811320754717) internal successors, (177), 166 states have internal predecessors, (177), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (26), 24 states have call predecessors, (26), 22 states have call successors, (26) Second operand 201 states. [2022-02-20 23:37:59,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:59,848 INFO L93 Difference]: Finished difference Result 201 states and 231 transitions. [2022-02-20 23:37:59,848 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 231 transitions. [2022-02-20 23:37:59,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:59,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:59,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:59,848 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:59,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 198 states, 106 states have (on average 1.669811320754717) internal successors, (177), 166 states have internal predecessors, (177), 22 states have call successors, (22), 7 states have call predecessors, (22), 8 states have return successors, (26), 24 states have call predecessors, (26), 22 states have call successors, (26) [2022-02-20 23:37:59,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 198 states to 198 states and 225 transitions. [2022-02-20 23:37:59,852 INFO L78 Accepts]: Start accepts. Automaton has 198 states and 225 transitions. Word has length 11 [2022-02-20 23:37:59,853 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:59,853 INFO L470 AbstractCegarLoop]: Abstraction has 198 states and 225 transitions. [2022-02-20 23:37:59,853 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 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:37:59,853 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 225 transitions. [2022-02-20 23:37:59,853 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:37:59,853 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:59,854 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:59,862 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:00,059 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:38:00,059 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting sizeErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:38:00,060 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:00,060 INFO L85 PathProgramCache]: Analyzing trace with hash -1497511222, now seen corresponding path program 1 times [2022-02-20 23:38:00,060 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:00,060 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1755317553] [2022-02-20 23:38:00,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:00,060 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:00,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:00,061 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:38:00,062 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:38:00,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:00,096 INFO L263 TraceCheckSpWp]: Trace formula consists of 64 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:38:00,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:00,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:00,216 INFO L290 TraceCheckUtils]: 0: Hoare triple {4506#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4506#true} is VALID [2022-02-20 23:38:00,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {4506#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {4506#true} is VALID [2022-02-20 23:38:00,216 INFO L272 TraceCheckUtils]: 2: Hoare triple {4506#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {4506#true} is VALID [2022-02-20 23:38:00,216 INFO L290 TraceCheckUtils]: 3: Hoare triple {4506#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {4520#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,217 INFO L290 TraceCheckUtils]: 4: Hoare triple {4520#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {4520#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,217 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4520#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {4506#true} #266#return; {4527#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret45#1.offset|) (= |ULTIMATE.start_main_#t~ret45#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,218 INFO L290 TraceCheckUtils]: 6: Hoare triple {4527#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret45#1.offset|) (= |ULTIMATE.start_main_#t~ret45#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret45#1.base, main_#t~ret45#1.offset;havoc task_#t~ret32#1, task_#t~ret33#1, task_#t~malloc34#1.base, task_#t~malloc34#1.offset, task_#t~ret35#1, task_#t~mem36#1, task_#t~ret37#1.base, task_#t~ret37#1.offset, task_#t~mem38#1, task_#t~ret39#1, task_#t~malloc40#1.base, task_#t~malloc40#1.offset, task_#t~ret41#1, task_#t~mem43#1, task_#t~mem44#1, task_#t~post42#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~0#1.base, task_~r~0#1.offset, task_~m~1#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {4531#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,218 INFO L272 TraceCheckUtils]: 7: Hoare triple {4531#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret32#1 := min(task_~t#1.base, task_~t#1.offset); {4506#true} is VALID [2022-02-20 23:38:00,218 INFO L290 TraceCheckUtils]: 8: Hoare triple {4506#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {4506#true} is VALID [2022-02-20 23:38:00,218 INFO L290 TraceCheckUtils]: 9: Hoare triple {4506#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {4506#true} is VALID [2022-02-20 23:38:00,218 INFO L290 TraceCheckUtils]: 10: Hoare triple {4506#true} assume true; {4506#true} is VALID [2022-02-20 23:38:00,221 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4506#true} {4531#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #268#return; {4531#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,222 INFO L290 TraceCheckUtils]: 12: Hoare triple {4531#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~a~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {4531#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,222 INFO L272 TraceCheckUtils]: 13: Hoare triple {4531#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret33#1 := size(task_~t#1.base, task_~t#1.offset); {4553#(and (= |size_#in~t.offset| (_ bv0 32)) (= |size_#in~t.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,223 INFO L290 TraceCheckUtils]: 14: Hoare triple {4553#(and (= |size_#in~t.offset| (_ bv0 32)) (= |size_#in~t.base| (_ bv0 32)))} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {4557#(and (= size_~t.offset (_ bv0 32)) (= (_ bv0 32) size_~t.base))} is VALID [2022-02-20 23:38:00,223 INFO L290 TraceCheckUtils]: 15: Hoare triple {4557#(and (= size_~t.offset (_ bv0 32)) (= (_ bv0 32) size_~t.base))} assume !(~t.base == 0bv32 && ~t.offset == 0bv32); {4507#false} is VALID [2022-02-20 23:38:00,223 INFO L290 TraceCheckUtils]: 16: Hoare triple {4507#false} assume !(1bv1 == #valid[~t.base]); {4507#false} is VALID [2022-02-20 23:38:00,223 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:38:00,223 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:00,224 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:00,224 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1755317553] [2022-02-20 23:38:00,224 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1755317553] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:00,224 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:00,224 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:38:00,224 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1954876961] [2022-02-20 23:38:00,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:00,225 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 1.7142857142857142) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-02-20 23:38:00,225 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:00,225 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 1.7142857142857142) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:00,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:00,238 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:38:00,238 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:00,238 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:38:00,238 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:00,238 INFO L87 Difference]: Start difference. First operand 198 states and 225 transitions. Second operand has 7 states, 7 states have (on average 1.7142857142857142) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:01,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:01,896 INFO L93 Difference]: Finished difference Result 306 states and 347 transitions. [2022-02-20 23:38:01,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:38:01,896 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 1.7142857142857142) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-02-20 23:38:01,896 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:01,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 1.7142857142857142) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:01,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 337 transitions. [2022-02-20 23:38:01,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 1.7142857142857142) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:01,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 337 transitions. [2022-02-20 23:38:01,910 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 337 transitions. [2022-02-20 23:38:02,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 337 edges. 337 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:02,242 INFO L225 Difference]: With dead ends: 306 [2022-02-20 23:38:02,243 INFO L226 Difference]: Without dead ends: 306 [2022-02-20 23:38:02,243 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:38:02,243 INFO L933 BasicCegarLoop]: 212 mSDtfsCounter, 192 mSDsluCounter, 1029 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 192 SdHoareTripleChecker+Valid, 1241 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:02,244 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [192 Valid, 1241 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:38:02,245 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 306 states. [2022-02-20 23:38:02,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 306 to 244. [2022-02-20 23:38:02,251 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:02,251 INFO L82 GeneralOperation]: Start isEquivalent. First operand 306 states. Second operand has 244 states, 145 states have (on average 1.696551724137931) internal successors, (246), 205 states have internal predecessors, (246), 28 states have call successors, (28), 8 states have call predecessors, (28), 9 states have return successors, (32), 30 states have call predecessors, (32), 28 states have call successors, (32) [2022-02-20 23:38:02,252 INFO L74 IsIncluded]: Start isIncluded. First operand 306 states. Second operand has 244 states, 145 states have (on average 1.696551724137931) internal successors, (246), 205 states have internal predecessors, (246), 28 states have call successors, (28), 8 states have call predecessors, (28), 9 states have return successors, (32), 30 states have call predecessors, (32), 28 states have call successors, (32) [2022-02-20 23:38:02,253 INFO L87 Difference]: Start difference. First operand 306 states. Second operand has 244 states, 145 states have (on average 1.696551724137931) internal successors, (246), 205 states have internal predecessors, (246), 28 states have call successors, (28), 8 states have call predecessors, (28), 9 states have return successors, (32), 30 states have call predecessors, (32), 28 states have call successors, (32) [2022-02-20 23:38:02,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,259 INFO L93 Difference]: Finished difference Result 306 states and 347 transitions. [2022-02-20 23:38:02,259 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 347 transitions. [2022-02-20 23:38:02,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:02,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:02,261 INFO L74 IsIncluded]: Start isIncluded. First operand has 244 states, 145 states have (on average 1.696551724137931) internal successors, (246), 205 states have internal predecessors, (246), 28 states have call successors, (28), 8 states have call predecessors, (28), 9 states have return successors, (32), 30 states have call predecessors, (32), 28 states have call successors, (32) Second operand 306 states. [2022-02-20 23:38:02,261 INFO L87 Difference]: Start difference. First operand has 244 states, 145 states have (on average 1.696551724137931) internal successors, (246), 205 states have internal predecessors, (246), 28 states have call successors, (28), 8 states have call predecessors, (28), 9 states have return successors, (32), 30 states have call predecessors, (32), 28 states have call successors, (32) Second operand 306 states. [2022-02-20 23:38:02,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,268 INFO L93 Difference]: Finished difference Result 306 states and 347 transitions. [2022-02-20 23:38:02,269 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 347 transitions. [2022-02-20 23:38:02,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:02,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:02,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:02,270 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:02,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 244 states, 145 states have (on average 1.696551724137931) internal successors, (246), 205 states have internal predecessors, (246), 28 states have call successors, (28), 8 states have call predecessors, (28), 9 states have return successors, (32), 30 states have call predecessors, (32), 28 states have call successors, (32) [2022-02-20 23:38:02,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 244 states to 244 states and 306 transitions. [2022-02-20 23:38:02,275 INFO L78 Accepts]: Start accepts. Automaton has 244 states and 306 transitions. Word has length 17 [2022-02-20 23:38:02,275 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:02,275 INFO L470 AbstractCegarLoop]: Abstraction has 244 states and 306 transitions. [2022-02-20 23:38:02,275 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 1.7142857142857142) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:02,275 INFO L276 IsEmpty]: Start isEmpty. Operand 244 states and 306 transitions. [2022-02-20 23:38:02,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:38:02,276 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:02,276 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:02,285 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:02,482 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:38:02,482 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting nondet_treeErr2REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:38:02,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:02,483 INFO L85 PathProgramCache]: Analyzing trace with hash -2030552348, now seen corresponding path program 1 times [2022-02-20 23:38:02,483 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:02,483 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [888325290] [2022-02-20 23:38:02,483 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:02,483 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:02,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:02,484 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:38:02,485 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:38:02,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:02,652 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:38:02,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:02,665 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:02,685 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:02,953 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:38:02,953 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 18 treesize of output 25 [2022-02-20 23:38:02,967 INFO L290 TraceCheckUtils]: 0: Hoare triple {5729#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {5729#true} is VALID [2022-02-20 23:38:02,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {5729#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {5729#true} is VALID [2022-02-20 23:38:02,968 INFO L272 TraceCheckUtils]: 2: Hoare triple {5729#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {5729#true} is VALID [2022-02-20 23:38:02,968 INFO L290 TraceCheckUtils]: 3: Hoare triple {5729#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {5729#true} is VALID [2022-02-20 23:38:02,968 INFO L290 TraceCheckUtils]: 4: Hoare triple {5729#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {5729#true} is VALID [2022-02-20 23:38:02,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {5729#true} havoc #t~nondet7; {5729#true} is VALID [2022-02-20 23:38:02,968 INFO L272 TraceCheckUtils]: 6: Hoare triple {5729#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5729#true} is VALID [2022-02-20 23:38:02,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {5729#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:02,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:02,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:02,970 INFO L272 TraceCheckUtils]: 10: Hoare triple {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,971 INFO L290 TraceCheckUtils]: 11: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,974 INFO L290 TraceCheckUtils]: 12: Hoare triple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~nondet7; {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,978 INFO L272 TraceCheckUtils]: 14: Hoare triple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,979 INFO L290 TraceCheckUtils]: 15: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume true; {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,980 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5765#(= |old(#valid)| |#valid|)} {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #254#return; {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,982 INFO L290 TraceCheckUtils]: 18: Hoare triple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,983 INFO L290 TraceCheckUtils]: 19: Hoare triple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~ret8.base, #t~ret8.offset; {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,983 INFO L272 TraceCheckUtils]: 20: Hoare triple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,984 INFO L290 TraceCheckUtils]: 21: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,984 INFO L290 TraceCheckUtils]: 22: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume true; {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,985 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5765#(= |old(#valid)| |#valid|)} {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #256#return; {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,988 INFO L290 TraceCheckUtils]: 24: Hoare triple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,990 INFO L290 TraceCheckUtils]: 26: Hoare triple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} assume true; {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:02,991 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5769#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_109 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_109) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #254#return; {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:02,992 INFO L290 TraceCheckUtils]: 28: Hoare triple {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {5730#false} is VALID [2022-02-20 23:38:02,992 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 12 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:38:02,992 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:03,193 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:03,193 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [888325290] [2022-02-20 23:38:03,194 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [888325290] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:03,194 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [274832185] [2022-02-20 23:38:03,194 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:03,194 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:03,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:38:03,196 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:38:03,212 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (9)] Waiting until timeout for monitored process [2022-02-20 23:38:03,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:03,348 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:38:03,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:03,360 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:03,378 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:05,536 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:38:05,536 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:38:05,541 INFO L290 TraceCheckUtils]: 0: Hoare triple {5729#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {5729#true} is VALID [2022-02-20 23:38:05,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {5729#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {5729#true} is VALID [2022-02-20 23:38:05,542 INFO L272 TraceCheckUtils]: 2: Hoare triple {5729#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {5729#true} is VALID [2022-02-20 23:38:05,542 INFO L290 TraceCheckUtils]: 3: Hoare triple {5729#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {5729#true} is VALID [2022-02-20 23:38:05,542 INFO L290 TraceCheckUtils]: 4: Hoare triple {5729#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {5729#true} is VALID [2022-02-20 23:38:05,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {5729#true} havoc #t~nondet7; {5729#true} is VALID [2022-02-20 23:38:05,542 INFO L272 TraceCheckUtils]: 6: Hoare triple {5729#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5729#true} is VALID [2022-02-20 23:38:05,543 INFO L290 TraceCheckUtils]: 7: Hoare triple {5729#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:05,543 INFO L290 TraceCheckUtils]: 8: Hoare triple {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:05,543 INFO L290 TraceCheckUtils]: 9: Hoare triple {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:05,544 INFO L272 TraceCheckUtils]: 10: Hoare triple {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,545 INFO L290 TraceCheckUtils]: 11: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,545 INFO L290 TraceCheckUtils]: 13: Hoare triple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} havoc #t~nondet7; {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,546 INFO L272 TraceCheckUtils]: 14: Hoare triple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,549 INFO L290 TraceCheckUtils]: 15: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,549 INFO L290 TraceCheckUtils]: 16: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume true; {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,550 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5765#(= |old(#valid)| |#valid|)} {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} #254#return; {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,550 INFO L290 TraceCheckUtils]: 18: Hoare triple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,551 INFO L290 TraceCheckUtils]: 19: Hoare triple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} havoc #t~ret8.base, #t~ret8.offset; {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,551 INFO L272 TraceCheckUtils]: 20: Hoare triple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,552 INFO L290 TraceCheckUtils]: 21: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,553 INFO L290 TraceCheckUtils]: 22: Hoare triple {5765#(= |old(#valid)| |#valid|)} assume true; {5765#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,554 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5765#(= |old(#valid)| |#valid|)} {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} #256#return; {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,554 INFO L290 TraceCheckUtils]: 24: Hoare triple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,556 INFO L290 TraceCheckUtils]: 25: Hoare triple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,556 INFO L290 TraceCheckUtils]: 26: Hoare triple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} assume true; {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:38:05,567 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5876#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #254#return; {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:05,567 INFO L290 TraceCheckUtils]: 28: Hoare triple {5755#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {5730#false} is VALID [2022-02-20 23:38:05,567 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 12 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:38:05,568 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:05,728 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [274832185] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:05,728 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:05,728 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-02-20 23:38:05,728 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1485649297] [2022-02-20 23:38:05,728 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:05,729 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.4) internal successors, (27), 6 states have internal predecessors, (27), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 29 [2022-02-20 23:38:05,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:05,730 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 5.4) internal successors, (27), 6 states have internal predecessors, (27), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:05,780 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:05,781 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:38:05,781 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:05,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:38:05,781 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=27, Unknown=1, NotChecked=0, Total=42 [2022-02-20 23:38:05,781 INFO L87 Difference]: Start difference. First operand 244 states and 306 transitions. Second operand has 6 states, 5 states have (on average 5.4) internal successors, (27), 6 states have internal predecessors, (27), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:13,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:13,058 INFO L93 Difference]: Finished difference Result 250 states and 314 transitions. [2022-02-20 23:38:13,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:38:13,059 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.4) internal successors, (27), 6 states have internal predecessors, (27), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 29 [2022-02-20 23:38:13,059 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:13,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.4) internal successors, (27), 6 states have internal predecessors, (27), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:13,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 228 transitions. [2022-02-20 23:38:13,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.4) internal successors, (27), 6 states have internal predecessors, (27), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:13,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 228 transitions. [2022-02-20 23:38:13,063 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 228 transitions. [2022-02-20 23:38:13,276 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 228 edges. 228 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:13,281 INFO L225 Difference]: With dead ends: 250 [2022-02-20 23:38:13,281 INFO L226 Difference]: Without dead ends: 250 [2022-02-20 23:38:13,281 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 58 SyntacticMatches, 7 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 8.1s TimeCoverageRelationStatistics Valid=26, Invalid=44, Unknown=2, NotChecked=0, Total=72 [2022-02-20 23:38:13,282 INFO L933 BasicCegarLoop]: 180 mSDtfsCounter, 61 mSDsluCounter, 266 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 446 SdHoareTripleChecker+Invalid, 538 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 301 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:13,282 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [67 Valid, 446 Invalid, 538 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 216 Invalid, 0 Unknown, 301 Unchecked, 0.3s Time] [2022-02-20 23:38:13,282 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-02-20 23:38:13,286 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 248. [2022-02-20 23:38:13,286 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:13,286 INFO L82 GeneralOperation]: Start isEquivalent. First operand 250 states. Second operand has 248 states, 148 states have (on average 1.6891891891891893) internal successors, (250), 208 states have internal predecessors, (250), 28 states have call successors, (28), 8 states have call predecessors, (28), 10 states have return successors, (36), 31 states have call predecessors, (36), 28 states have call successors, (36) [2022-02-20 23:38:13,287 INFO L74 IsIncluded]: Start isIncluded. First operand 250 states. Second operand has 248 states, 148 states have (on average 1.6891891891891893) internal successors, (250), 208 states have internal predecessors, (250), 28 states have call successors, (28), 8 states have call predecessors, (28), 10 states have return successors, (36), 31 states have call predecessors, (36), 28 states have call successors, (36) [2022-02-20 23:38:13,287 INFO L87 Difference]: Start difference. First operand 250 states. Second operand has 248 states, 148 states have (on average 1.6891891891891893) internal successors, (250), 208 states have internal predecessors, (250), 28 states have call successors, (28), 8 states have call predecessors, (28), 10 states have return successors, (36), 31 states have call predecessors, (36), 28 states have call successors, (36) [2022-02-20 23:38:13,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:13,298 INFO L93 Difference]: Finished difference Result 250 states and 314 transitions. [2022-02-20 23:38:13,298 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 314 transitions. [2022-02-20 23:38:13,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:13,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:13,299 INFO L74 IsIncluded]: Start isIncluded. First operand has 248 states, 148 states have (on average 1.6891891891891893) internal successors, (250), 208 states have internal predecessors, (250), 28 states have call successors, (28), 8 states have call predecessors, (28), 10 states have return successors, (36), 31 states have call predecessors, (36), 28 states have call successors, (36) Second operand 250 states. [2022-02-20 23:38:13,300 INFO L87 Difference]: Start difference. First operand has 248 states, 148 states have (on average 1.6891891891891893) internal successors, (250), 208 states have internal predecessors, (250), 28 states have call successors, (28), 8 states have call predecessors, (28), 10 states have return successors, (36), 31 states have call predecessors, (36), 28 states have call successors, (36) Second operand 250 states. [2022-02-20 23:38:13,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:13,304 INFO L93 Difference]: Finished difference Result 250 states and 314 transitions. [2022-02-20 23:38:13,304 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 314 transitions. [2022-02-20 23:38:13,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:13,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:13,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:13,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:13,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 248 states, 148 states have (on average 1.6891891891891893) internal successors, (250), 208 states have internal predecessors, (250), 28 states have call successors, (28), 8 states have call predecessors, (28), 10 states have return successors, (36), 31 states have call predecessors, (36), 28 states have call successors, (36) [2022-02-20 23:38:13,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 248 states to 248 states and 314 transitions. [2022-02-20 23:38:13,310 INFO L78 Accepts]: Start accepts. Automaton has 248 states and 314 transitions. Word has length 29 [2022-02-20 23:38:13,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:13,310 INFO L470 AbstractCegarLoop]: Abstraction has 248 states and 314 transitions. [2022-02-20 23:38:13,310 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 5.4) internal successors, (27), 6 states have internal predecessors, (27), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:13,310 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 314 transitions. [2022-02-20 23:38:13,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 23:38:13,311 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:13,311 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:13,325 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (9)] Ended with exit code 0 [2022-02-20 23:38:13,522 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:38:13,713 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:38:13,714 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting nondet_treeErr3REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:38:13,714 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:13,714 INFO L85 PathProgramCache]: Analyzing trace with hash 2020472179, now seen corresponding path program 1 times [2022-02-20 23:38:13,715 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:13,715 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [616822155] [2022-02-20 23:38:13,715 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:13,715 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:13,715 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:13,716 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:38:13,719 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:38:13,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:13,877 INFO L263 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:38:13,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:13,888 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:13,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:38:13,917 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:20,220 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:20,221 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:38:20,229 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:20,230 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 12 treesize of output 12 [2022-02-20 23:38:20,249 INFO L290 TraceCheckUtils]: 0: Hoare triple {6950#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {6950#true} is VALID [2022-02-20 23:38:20,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {6950#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L272 TraceCheckUtils]: 2: Hoare triple {6950#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L290 TraceCheckUtils]: 3: Hoare triple {6950#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L290 TraceCheckUtils]: 4: Hoare triple {6950#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {6950#true} havoc #t~nondet7; {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L272 TraceCheckUtils]: 6: Hoare triple {6950#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {6950#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {6950#true} assume true; {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6950#true} {6950#true} #254#return; {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L290 TraceCheckUtils]: 10: Hoare triple {6950#true} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {6950#true} havoc #t~ret8.base, #t~ret8.offset; {6950#true} is VALID [2022-02-20 23:38:20,250 INFO L272 TraceCheckUtils]: 12: Hoare triple {6950#true} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6950#true} is VALID [2022-02-20 23:38:20,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {6950#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:20,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:20,253 INFO L290 TraceCheckUtils]: 15: Hoare triple {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~nondet7; {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:20,254 INFO L272 TraceCheckUtils]: 16: Hoare triple {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {7004#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:20,255 INFO L290 TraceCheckUtils]: 17: Hoare triple {7004#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,257 INFO L290 TraceCheckUtils]: 18: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,258 INFO L290 TraceCheckUtils]: 19: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} havoc #t~nondet7; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,259 INFO L272 TraceCheckUtils]: 20: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,259 INFO L290 TraceCheckUtils]: 21: Hoare triple {7018#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,259 INFO L290 TraceCheckUtils]: 22: Hoare triple {7018#(= |#length| |old(#length)|)} assume true; {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,260 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7018#(= |#length| |old(#length)|)} {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} #254#return; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,262 INFO L290 TraceCheckUtils]: 24: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} havoc #t~ret8.base, #t~ret8.offset; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,263 INFO L272 TraceCheckUtils]: 26: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {7018#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,263 INFO L290 TraceCheckUtils]: 28: Hoare triple {7018#(= |#length| |old(#length)|)} assume true; {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,264 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {7018#(= |#length| |old(#length)|)} {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} #256#return; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,266 INFO L290 TraceCheckUtils]: 30: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,266 INFO L290 TraceCheckUtils]: 31: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,267 INFO L290 TraceCheckUtils]: 32: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} assume true; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:20,268 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #254#return; {7058#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:20,269 INFO L290 TraceCheckUtils]: 34: Hoare triple {7058#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, ~n~0.offset)), #length[~n~0.base]) && ~bvule32(~bvadd32(4bv32, ~n~0.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, ~n~0.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, ~n~0.offset))); {6951#false} is VALID [2022-02-20 23:38:20,269 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 25 proven. 10 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:38:20,269 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:22,542 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:22,543 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [616822155] [2022-02-20 23:38:22,543 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [616822155] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:22,543 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1561390042] [2022-02-20 23:38:22,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:22,543 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:22,543 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:38:22,544 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:38:22,563 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (11)] Waiting until timeout for monitored process [2022-02-20 23:38:22,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:22,735 INFO L263 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:38:22,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:22,750 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:22,787 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:22,791 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:27,028 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:27,029 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:38:27,037 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:27,038 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 12 treesize of output 12 [2022-02-20 23:38:27,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {6950#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {6950#true} is VALID [2022-02-20 23:38:27,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {6950#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {6950#true} is VALID [2022-02-20 23:38:27,047 INFO L272 TraceCheckUtils]: 2: Hoare triple {6950#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {6950#true} is VALID [2022-02-20 23:38:27,047 INFO L290 TraceCheckUtils]: 3: Hoare triple {6950#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {6950#true} is VALID [2022-02-20 23:38:27,047 INFO L290 TraceCheckUtils]: 4: Hoare triple {6950#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {6950#true} is VALID [2022-02-20 23:38:27,047 INFO L290 TraceCheckUtils]: 5: Hoare triple {6950#true} havoc #t~nondet7; {6950#true} is VALID [2022-02-20 23:38:27,047 INFO L272 TraceCheckUtils]: 6: Hoare triple {6950#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6950#true} is VALID [2022-02-20 23:38:27,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {6950#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6950#true} is VALID [2022-02-20 23:38:27,047 INFO L290 TraceCheckUtils]: 8: Hoare triple {6950#true} assume true; {6950#true} is VALID [2022-02-20 23:38:27,048 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6950#true} {6950#true} #254#return; {6950#true} is VALID [2022-02-20 23:38:27,048 INFO L290 TraceCheckUtils]: 10: Hoare triple {6950#true} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {6950#true} is VALID [2022-02-20 23:38:27,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {6950#true} havoc #t~ret8.base, #t~ret8.offset; {6950#true} is VALID [2022-02-20 23:38:27,048 INFO L272 TraceCheckUtils]: 12: Hoare triple {6950#true} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6950#true} is VALID [2022-02-20 23:38:27,052 INFO L290 TraceCheckUtils]: 13: Hoare triple {6950#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:27,053 INFO L290 TraceCheckUtils]: 14: Hoare triple {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:27,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~nondet7; {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:27,054 INFO L272 TraceCheckUtils]: 16: Hoare triple {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {7004#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:27,056 INFO L290 TraceCheckUtils]: 17: Hoare triple {7004#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,059 INFO L290 TraceCheckUtils]: 18: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,059 INFO L290 TraceCheckUtils]: 19: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} havoc #t~nondet7; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,060 INFO L272 TraceCheckUtils]: 20: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:27,060 INFO L290 TraceCheckUtils]: 21: Hoare triple {7018#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:27,061 INFO L290 TraceCheckUtils]: 22: Hoare triple {7018#(= |#length| |old(#length)|)} assume true; {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:27,061 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7018#(= |#length| |old(#length)|)} {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} #254#return; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,063 INFO L290 TraceCheckUtils]: 24: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,063 INFO L290 TraceCheckUtils]: 25: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} havoc #t~ret8.base, #t~ret8.offset; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,064 INFO L272 TraceCheckUtils]: 26: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:27,064 INFO L290 TraceCheckUtils]: 27: Hoare triple {7018#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:27,065 INFO L290 TraceCheckUtils]: 28: Hoare triple {7018#(= |#length| |old(#length)|)} assume true; {7018#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:27,066 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {7018#(= |#length| |old(#length)|)} {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} #256#return; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,067 INFO L290 TraceCheckUtils]: 30: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,069 INFO L290 TraceCheckUtils]: 32: Hoare triple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} assume true; {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} is VALID [2022-02-20 23:38:27,070 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7008#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_250 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_250)))))} {6994#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #254#return; {7058#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:27,071 INFO L290 TraceCheckUtils]: 34: Hoare triple {7058#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, ~n~0.offset)), #length[~n~0.base]) && ~bvule32(~bvadd32(4bv32, ~n~0.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, ~n~0.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, ~n~0.offset))); {6951#false} is VALID [2022-02-20 23:38:27,071 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 25 proven. 10 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 23:38:27,071 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:27,289 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1561390042] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:27,289 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:27,289 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2022-02-20 23:38:27,290 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1645716507] [2022-02-20 23:38:27,290 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:27,290 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 5 states have internal predecessors, (23), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-02-20 23:38:27,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:27,290 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 5 states have internal predecessors, (23), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:27,325 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:27,325 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:38:27,325 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:27,326 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:38:27,326 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=50, Unknown=2, NotChecked=0, Total=72 [2022-02-20 23:38:27,326 INFO L87 Difference]: Start difference. First operand 248 states and 314 transitions. Second operand has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 5 states have internal predecessors, (23), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:33,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:33,428 INFO L93 Difference]: Finished difference Result 267 states and 346 transitions. [2022-02-20 23:38:33,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:38:33,428 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 5 states have internal predecessors, (23), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-02-20 23:38:33,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:33,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 5 states have internal predecessors, (23), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:33,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 249 transitions. [2022-02-20 23:38:33,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 5 states have internal predecessors, (23), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:33,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 249 transitions. [2022-02-20 23:38:33,433 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 249 transitions. [2022-02-20 23:38:33,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 249 edges. 249 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:33,691 INFO L225 Difference]: With dead ends: 267 [2022-02-20 23:38:33,691 INFO L226 Difference]: Without dead ends: 267 [2022-02-20 23:38:33,691 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 60 SyntacticMatches, 6 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 12.3s TimeCoverageRelationStatistics Valid=27, Invalid=61, Unknown=2, NotChecked=0, Total=90 [2022-02-20 23:38:33,692 INFO L933 BasicCegarLoop]: 180 mSDtfsCounter, 72 mSDsluCounter, 286 mSDsCounter, 0 mSdLazyCounter, 300 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 466 SdHoareTripleChecker+Invalid, 492 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 300 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 163 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:33,692 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 466 Invalid, 492 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 300 Invalid, 0 Unknown, 163 Unchecked, 0.6s Time] [2022-02-20 23:38:33,693 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 267 states. [2022-02-20 23:38:33,697 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 267 to 264. [2022-02-20 23:38:33,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:33,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 267 states. Second operand has 264 states, 159 states have (on average 1.6415094339622642) internal successors, (261), 220 states have internal predecessors, (261), 31 states have call successors, (31), 9 states have call predecessors, (31), 12 states have return successors, (45), 34 states have call predecessors, (45), 31 states have call successors, (45) [2022-02-20 23:38:33,699 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand has 264 states, 159 states have (on average 1.6415094339622642) internal successors, (261), 220 states have internal predecessors, (261), 31 states have call successors, (31), 9 states have call predecessors, (31), 12 states have return successors, (45), 34 states have call predecessors, (45), 31 states have call successors, (45) [2022-02-20 23:38:33,699 INFO L87 Difference]: Start difference. First operand 267 states. Second operand has 264 states, 159 states have (on average 1.6415094339622642) internal successors, (261), 220 states have internal predecessors, (261), 31 states have call successors, (31), 9 states have call predecessors, (31), 12 states have return successors, (45), 34 states have call predecessors, (45), 31 states have call successors, (45) [2022-02-20 23:38:33,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:33,705 INFO L93 Difference]: Finished difference Result 267 states and 346 transitions. [2022-02-20 23:38:33,705 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 346 transitions. [2022-02-20 23:38:33,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:33,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:33,706 INFO L74 IsIncluded]: Start isIncluded. First operand has 264 states, 159 states have (on average 1.6415094339622642) internal successors, (261), 220 states have internal predecessors, (261), 31 states have call successors, (31), 9 states have call predecessors, (31), 12 states have return successors, (45), 34 states have call predecessors, (45), 31 states have call successors, (45) Second operand 267 states. [2022-02-20 23:38:33,707 INFO L87 Difference]: Start difference. First operand has 264 states, 159 states have (on average 1.6415094339622642) internal successors, (261), 220 states have internal predecessors, (261), 31 states have call successors, (31), 9 states have call predecessors, (31), 12 states have return successors, (45), 34 states have call predecessors, (45), 31 states have call successors, (45) Second operand 267 states. [2022-02-20 23:38:33,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:33,712 INFO L93 Difference]: Finished difference Result 267 states and 346 transitions. [2022-02-20 23:38:33,712 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 346 transitions. [2022-02-20 23:38:33,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:33,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:33,714 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:33,714 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:33,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 264 states, 159 states have (on average 1.6415094339622642) internal successors, (261), 220 states have internal predecessors, (261), 31 states have call successors, (31), 9 states have call predecessors, (31), 12 states have return successors, (45), 34 states have call predecessors, (45), 31 states have call successors, (45) [2022-02-20 23:38:33,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 264 states to 264 states and 337 transitions. [2022-02-20 23:38:33,719 INFO L78 Accepts]: Start accepts. Automaton has 264 states and 337 transitions. Word has length 35 [2022-02-20 23:38:33,720 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:33,720 INFO L470 AbstractCegarLoop]: Abstraction has 264 states and 337 transitions. [2022-02-20 23:38:33,720 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 5 states have internal predecessors, (23), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:33,720 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 337 transitions. [2022-02-20 23:38:33,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:38:33,721 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:33,721 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:33,735 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (11)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:33,932 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:38:34,124 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:38:34,124 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting minErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:38:34,125 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:34,125 INFO L85 PathProgramCache]: Analyzing trace with hash -599064084, now seen corresponding path program 1 times [2022-02-20 23:38:34,125 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:34,125 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [14970461] [2022-02-20 23:38:34,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:34,125 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:34,125 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:34,126 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:38:34,127 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:38:34,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:34,203 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:38:34,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:34,214 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:34,224 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:34,338 INFO L290 TraceCheckUtils]: 0: Hoare triple {8245#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {8245#true} is VALID [2022-02-20 23:38:34,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {8245#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {8245#true} is VALID [2022-02-20 23:38:34,338 INFO L272 TraceCheckUtils]: 2: Hoare triple {8245#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {8245#true} is VALID [2022-02-20 23:38:34,339 INFO L290 TraceCheckUtils]: 3: Hoare triple {8245#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,339 INFO L290 TraceCheckUtils]: 4: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,340 INFO L272 TraceCheckUtils]: 6: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {8269#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:34,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {8269#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {8269#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:34,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {8269#(= |old(#valid)| |#valid|)} assume true; {8269#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:34,348 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {8269#(= |old(#valid)| |#valid|)} {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #254#return; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,348 INFO L290 TraceCheckUtils]: 10: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,349 INFO L290 TraceCheckUtils]: 11: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret8.base, #t~ret8.offset; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,352 INFO L272 TraceCheckUtils]: 12: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {8269#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:34,352 INFO L290 TraceCheckUtils]: 13: Hoare triple {8269#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {8269#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:34,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {8269#(= |old(#valid)| |#valid|)} assume true; {8269#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:34,353 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8269#(= |old(#valid)| |#valid|)} {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #256#return; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,354 INFO L290 TraceCheckUtils]: 16: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,354 INFO L290 TraceCheckUtils]: 17: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {8303#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:34,354 INFO L290 TraceCheckUtils]: 18: Hoare triple {8303#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} assume true; {8303#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:34,355 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8303#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} {8245#true} #266#return; {8310#(= (select |#valid| |ULTIMATE.start_main_#t~ret45#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:34,355 INFO L290 TraceCheckUtils]: 20: Hoare triple {8310#(= (select |#valid| |ULTIMATE.start_main_#t~ret45#1.base|) (_ bv1 1))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret45#1.base, main_#t~ret45#1.offset;havoc task_#t~ret32#1, task_#t~ret33#1, task_#t~malloc34#1.base, task_#t~malloc34#1.offset, task_#t~ret35#1, task_#t~mem36#1, task_#t~ret37#1.base, task_#t~ret37#1.offset, task_#t~mem38#1, task_#t~ret39#1, task_#t~malloc40#1.base, task_#t~malloc40#1.offset, task_#t~ret41#1, task_#t~mem43#1, task_#t~mem44#1, task_#t~post42#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~0#1.base, task_~r~0#1.offset, task_~m~1#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {8314#(= (select |#valid| |ULTIMATE.start_task_~t#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:34,356 INFO L272 TraceCheckUtils]: 21: Hoare triple {8314#(= (select |#valid| |ULTIMATE.start_task_~t#1.base|) (_ bv1 1))} call task_#t~ret32#1 := min(task_~t#1.base, task_~t#1.offset); {8318#(= (_ bv1 1) (select |#valid| |min_#in~n.base|))} is VALID [2022-02-20 23:38:34,356 INFO L290 TraceCheckUtils]: 22: Hoare triple {8318#(= (_ bv1 1) (select |#valid| |min_#in~n.base|))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {8322#(= (select |#valid| min_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:34,357 INFO L290 TraceCheckUtils]: 23: Hoare triple {8322#(= (select |#valid| min_~n.base) (_ bv1 1))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {8322#(= (select |#valid| min_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:34,357 INFO L290 TraceCheckUtils]: 24: Hoare triple {8322#(= (select |#valid| min_~n.base) (_ bv1 1))} assume !(1bv1 == #valid[~n.base]); {8246#false} is VALID [2022-02-20 23:38:34,357 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:38:34,357 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:34,622 INFO L290 TraceCheckUtils]: 24: Hoare triple {8322#(= (select |#valid| min_~n.base) (_ bv1 1))} assume !(1bv1 == #valid[~n.base]); {8246#false} is VALID [2022-02-20 23:38:34,623 INFO L290 TraceCheckUtils]: 23: Hoare triple {8322#(= (select |#valid| min_~n.base) (_ bv1 1))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {8322#(= (select |#valid| min_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:34,623 INFO L290 TraceCheckUtils]: 22: Hoare triple {8318#(= (_ bv1 1) (select |#valid| |min_#in~n.base|))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {8322#(= (select |#valid| min_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:34,624 INFO L272 TraceCheckUtils]: 21: Hoare triple {8314#(= (select |#valid| |ULTIMATE.start_task_~t#1.base|) (_ bv1 1))} call task_#t~ret32#1 := min(task_~t#1.base, task_~t#1.offset); {8318#(= (_ bv1 1) (select |#valid| |min_#in~n.base|))} is VALID [2022-02-20 23:38:34,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {8310#(= (select |#valid| |ULTIMATE.start_main_#t~ret45#1.base|) (_ bv1 1))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret45#1.base, main_#t~ret45#1.offset;havoc task_#t~ret32#1, task_#t~ret33#1, task_#t~malloc34#1.base, task_#t~malloc34#1.offset, task_#t~ret35#1, task_#t~mem36#1, task_#t~ret37#1.base, task_#t~ret37#1.offset, task_#t~mem38#1, task_#t~ret39#1, task_#t~malloc40#1.base, task_#t~malloc40#1.offset, task_#t~ret41#1, task_#t~mem43#1, task_#t~mem44#1, task_#t~post42#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~0#1.base, task_~r~0#1.offset, task_~m~1#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {8314#(= (select |#valid| |ULTIMATE.start_task_~t#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:34,625 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8303#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} {8245#true} #266#return; {8310#(= (select |#valid| |ULTIMATE.start_main_#t~ret45#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:34,625 INFO L290 TraceCheckUtils]: 18: Hoare triple {8303#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} assume true; {8303#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:34,626 INFO L290 TraceCheckUtils]: 17: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {8303#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:34,626 INFO L290 TraceCheckUtils]: 16: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,627 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #256#return; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} assume true; {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} is VALID [2022-02-20 23:38:34,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} is VALID [2022-02-20 23:38:34,629 INFO L272 TraceCheckUtils]: 12: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} is VALID [2022-02-20 23:38:34,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret8.base, #t~ret8.offset; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,630 INFO L290 TraceCheckUtils]: 10: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,631 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #254#return; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} assume true; {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} is VALID [2022-02-20 23:38:34,632 INFO L290 TraceCheckUtils]: 7: Hoare triple {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} is VALID [2022-02-20 23:38:34,632 INFO L272 TraceCheckUtils]: 6: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {8362#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_11 (_ BitVec 32))) (or (= (select |#valid| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)) (not (= (select |old(#valid)| v_nondet_tree_~n~0.base_BEFORE_CALL_11) (_ bv1 1)))))} is VALID [2022-02-20 23:38:34,632 INFO L290 TraceCheckUtils]: 5: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,633 INFO L290 TraceCheckUtils]: 4: Hoare triple {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,634 INFO L290 TraceCheckUtils]: 3: Hoare triple {8245#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {8259#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:34,634 INFO L272 TraceCheckUtils]: 2: Hoare triple {8245#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {8245#true} is VALID [2022-02-20 23:38:34,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {8245#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {8245#true} is VALID [2022-02-20 23:38:34,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {8245#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {8245#true} is VALID [2022-02-20 23:38:34,634 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:38:34,635 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:34,635 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [14970461] [2022-02-20 23:38:34,635 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [14970461] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:34,635 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:34,635 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-02-20 23:38:34,635 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2124729368] [2022-02-20 23:38:34,635 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:34,636 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 25 [2022-02-20 23:38:34,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:34,637 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:38:34,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:34,664 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:38:34,664 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:34,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:38:34,665 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:38:34,665 INFO L87 Difference]: Start difference. First operand 264 states and 337 transitions. Second operand has 10 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:38:39,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:39,685 INFO L93 Difference]: Finished difference Result 304 states and 361 transitions. [2022-02-20 23:38:39,685 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:38:39,686 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 25 [2022-02-20 23:38:39,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:39,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:38:39,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 308 transitions. [2022-02-20 23:38:39,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:38:39,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 308 transitions. [2022-02-20 23:38:39,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 308 transitions. [2022-02-20 23:38:39,989 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 308 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:39,997 INFO L225 Difference]: With dead ends: 304 [2022-02-20 23:38:39,998 INFO L226 Difference]: Without dead ends: 304 [2022-02-20 23:38:39,998 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:38:39,999 INFO L933 BasicCegarLoop]: 213 mSDtfsCounter, 217 mSDsluCounter, 754 mSDsCounter, 0 mSdLazyCounter, 1141 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 221 SdHoareTripleChecker+Valid, 967 SdHoareTripleChecker+Invalid, 1266 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 1141 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 74 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:39,999 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [221 Valid, 967 Invalid, 1266 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [51 Valid, 1141 Invalid, 0 Unknown, 74 Unchecked, 1.8s Time] [2022-02-20 23:38:40,000 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2022-02-20 23:38:40,006 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 276. [2022-02-20 23:38:40,006 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:40,007 INFO L82 GeneralOperation]: Start isEquivalent. First operand 304 states. Second operand has 276 states, 170 states have (on average 1.6235294117647059) internal successors, (276), 229 states have internal predecessors, (276), 33 states have call successors, (33), 10 states have call predecessors, (33), 13 states have return successors, (47), 36 states have call predecessors, (47), 33 states have call successors, (47) [2022-02-20 23:38:40,007 INFO L74 IsIncluded]: Start isIncluded. First operand 304 states. Second operand has 276 states, 170 states have (on average 1.6235294117647059) internal successors, (276), 229 states have internal predecessors, (276), 33 states have call successors, (33), 10 states have call predecessors, (33), 13 states have return successors, (47), 36 states have call predecessors, (47), 33 states have call successors, (47) [2022-02-20 23:38:40,008 INFO L87 Difference]: Start difference. First operand 304 states. Second operand has 276 states, 170 states have (on average 1.6235294117647059) internal successors, (276), 229 states have internal predecessors, (276), 33 states have call successors, (33), 10 states have call predecessors, (33), 13 states have return successors, (47), 36 states have call predecessors, (47), 33 states have call successors, (47) [2022-02-20 23:38:40,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:40,017 INFO L93 Difference]: Finished difference Result 304 states and 361 transitions. [2022-02-20 23:38:40,017 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 361 transitions. [2022-02-20 23:38:40,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:40,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:40,019 INFO L74 IsIncluded]: Start isIncluded. First operand has 276 states, 170 states have (on average 1.6235294117647059) internal successors, (276), 229 states have internal predecessors, (276), 33 states have call successors, (33), 10 states have call predecessors, (33), 13 states have return successors, (47), 36 states have call predecessors, (47), 33 states have call successors, (47) Second operand 304 states. [2022-02-20 23:38:40,020 INFO L87 Difference]: Start difference. First operand has 276 states, 170 states have (on average 1.6235294117647059) internal successors, (276), 229 states have internal predecessors, (276), 33 states have call successors, (33), 10 states have call predecessors, (33), 13 states have return successors, (47), 36 states have call predecessors, (47), 33 states have call successors, (47) Second operand 304 states. [2022-02-20 23:38:40,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:40,028 INFO L93 Difference]: Finished difference Result 304 states and 361 transitions. [2022-02-20 23:38:40,028 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 361 transitions. [2022-02-20 23:38:40,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:40,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:40,029 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:40,029 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:40,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 276 states, 170 states have (on average 1.6235294117647059) internal successors, (276), 229 states have internal predecessors, (276), 33 states have call successors, (33), 10 states have call predecessors, (33), 13 states have return successors, (47), 36 states have call predecessors, (47), 33 states have call successors, (47) [2022-02-20 23:38:40,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 276 states to 276 states and 356 transitions. [2022-02-20 23:38:40,041 INFO L78 Accepts]: Start accepts. Automaton has 276 states and 356 transitions. Word has length 25 [2022-02-20 23:38:40,041 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:40,041 INFO L470 AbstractCegarLoop]: Abstraction has 276 states and 356 transitions. [2022-02-20 23:38:40,041 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 2.25) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:38:40,042 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 356 transitions. [2022-02-20 23:38:40,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:38:40,042 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:40,043 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:40,053 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:38:40,259 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:38:40,259 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting minErr1REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:38:40,260 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:40,260 INFO L85 PathProgramCache]: Analyzing trace with hash -599064083, now seen corresponding path program 1 times [2022-02-20 23:38:40,260 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:40,260 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [576380415] [2022-02-20 23:38:40,260 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:40,260 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:40,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:40,280 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:38:40,282 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:38:40,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:40,365 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:38:40,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:40,377 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:40,398 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:40,622 INFO L290 TraceCheckUtils]: 0: Hoare triple {9599#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {9599#true} is VALID [2022-02-20 23:38:40,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {9599#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {9599#true} is VALID [2022-02-20 23:38:40,623 INFO L272 TraceCheckUtils]: 2: Hoare triple {9599#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {9599#true} is VALID [2022-02-20 23:38:40,629 INFO L290 TraceCheckUtils]: 3: Hoare triple {9599#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:40,630 INFO L290 TraceCheckUtils]: 4: Hoare triple {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:40,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~nondet7; {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:40,633 INFO L272 TraceCheckUtils]: 6: Hoare triple {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {9623#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:40,634 INFO L290 TraceCheckUtils]: 7: Hoare triple {9623#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {9623#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:40,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {9623#(= |#length| |old(#length)|)} assume true; {9623#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:40,635 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {9623#(= |#length| |old(#length)|)} {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #254#return; {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:40,636 INFO L290 TraceCheckUtils]: 10: Hoare triple {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:40,636 INFO L290 TraceCheckUtils]: 11: Hoare triple {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~ret8.base, #t~ret8.offset; {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:40,637 INFO L272 TraceCheckUtils]: 12: Hoare triple {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {9623#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:40,638 INFO L290 TraceCheckUtils]: 13: Hoare triple {9623#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {9623#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:40,638 INFO L290 TraceCheckUtils]: 14: Hoare triple {9623#(= |#length| |old(#length)|)} assume true; {9623#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:40,639 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9623#(= |#length| |old(#length)|)} {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #256#return; {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:40,640 INFO L290 TraceCheckUtils]: 16: Hoare triple {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:40,643 INFO L290 TraceCheckUtils]: 17: Hoare triple {9613#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {9657#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:40,644 INFO L290 TraceCheckUtils]: 18: Hoare triple {9657#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {9657#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:40,644 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {9657#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {9599#true} #266#return; {9664#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret45#1.offset|) (= (_ bv12 32) (select |#length| |ULTIMATE.start_main_#t~ret45#1.base|)))} is VALID [2022-02-20 23:38:40,645 INFO L290 TraceCheckUtils]: 20: Hoare triple {9664#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret45#1.offset|) (= (_ bv12 32) (select |#length| |ULTIMATE.start_main_#t~ret45#1.base|)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret45#1.base, main_#t~ret45#1.offset;havoc task_#t~ret32#1, task_#t~ret33#1, task_#t~malloc34#1.base, task_#t~malloc34#1.offset, task_#t~ret35#1, task_#t~mem36#1, task_#t~ret37#1.base, task_#t~ret37#1.offset, task_#t~mem38#1, task_#t~ret39#1, task_#t~malloc40#1.base, task_#t~malloc40#1.offset, task_#t~ret41#1, task_#t~mem43#1, task_#t~mem44#1, task_#t~post42#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~0#1.base, task_~r~0#1.offset, task_~m~1#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {9668#(and (= (select |#length| |ULTIMATE.start_task_~t#1.base|) (_ bv12 32)) (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|))} is VALID [2022-02-20 23:38:40,645 INFO L272 TraceCheckUtils]: 21: Hoare triple {9668#(and (= (select |#length| |ULTIMATE.start_task_~t#1.base|) (_ bv12 32)) (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|))} call task_#t~ret32#1 := min(task_~t#1.base, task_~t#1.offset); {9672#(and (= |min_#in~n.offset| (_ bv0 32)) (= (select |#length| |min_#in~n.base|) (_ bv12 32)))} is VALID [2022-02-20 23:38:40,646 INFO L290 TraceCheckUtils]: 22: Hoare triple {9672#(and (= |min_#in~n.offset| (_ bv0 32)) (= (select |#length| |min_#in~n.base|) (_ bv12 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {9676#(and (= min_~n.offset (_ bv0 32)) (= (select |#length| min_~n.base) (_ bv12 32)))} is VALID [2022-02-20 23:38:40,646 INFO L290 TraceCheckUtils]: 23: Hoare triple {9676#(and (= min_~n.offset (_ bv0 32)) (= (select |#length| min_~n.base) (_ bv12 32)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {9676#(and (= min_~n.offset (_ bv0 32)) (= (select |#length| min_~n.base) (_ bv12 32)))} is VALID [2022-02-20 23:38:40,647 INFO L290 TraceCheckUtils]: 24: Hoare triple {9676#(and (= min_~n.offset (_ bv0 32)) (= (select |#length| min_~n.base) (_ bv12 32)))} assume !((~bvule32(~bvadd32(4bv32, ~n.offset), #length[~n.base]) && ~bvule32(~n.offset, ~bvadd32(4bv32, ~n.offset))) && ~bvule32(0bv32, ~n.offset)); {9600#false} is VALID [2022-02-20 23:38:40,647 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:38:40,647 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:41,635 INFO L290 TraceCheckUtils]: 24: Hoare triple {9683#(and (bvule min_~n.offset (bvadd min_~n.offset (_ bv4 32))) (bvule (bvadd min_~n.offset (_ bv4 32)) (select |#length| min_~n.base)))} assume !((~bvule32(~bvadd32(4bv32, ~n.offset), #length[~n.base]) && ~bvule32(~n.offset, ~bvadd32(4bv32, ~n.offset))) && ~bvule32(0bv32, ~n.offset)); {9600#false} is VALID [2022-02-20 23:38:41,635 INFO L290 TraceCheckUtils]: 23: Hoare triple {9683#(and (bvule min_~n.offset (bvadd min_~n.offset (_ bv4 32))) (bvule (bvadd min_~n.offset (_ bv4 32)) (select |#length| min_~n.base)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {9683#(and (bvule min_~n.offset (bvadd min_~n.offset (_ bv4 32))) (bvule (bvadd min_~n.offset (_ bv4 32)) (select |#length| min_~n.base)))} is VALID [2022-02-20 23:38:41,636 INFO L290 TraceCheckUtils]: 22: Hoare triple {9690#(and (bvule (bvadd (_ bv4 32) |min_#in~n.offset|) (select |#length| |min_#in~n.base|)) (bvule |min_#in~n.offset| (bvadd (_ bv4 32) |min_#in~n.offset|)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {9683#(and (bvule min_~n.offset (bvadd min_~n.offset (_ bv4 32))) (bvule (bvadd min_~n.offset (_ bv4 32)) (select |#length| min_~n.base)))} is VALID [2022-02-20 23:38:41,636 INFO L272 TraceCheckUtils]: 21: Hoare triple {9694#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|) (select |#length| |ULTIMATE.start_task_~t#1.base|)) (bvule |ULTIMATE.start_task_~t#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)))} call task_#t~ret32#1 := min(task_~t#1.base, task_~t#1.offset); {9690#(and (bvule (bvadd (_ bv4 32) |min_#in~n.offset|) (select |#length| |min_#in~n.base|)) (bvule |min_#in~n.offset| (bvadd (_ bv4 32) |min_#in~n.offset|)))} is VALID [2022-02-20 23:38:41,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {9698#(and (bvule |ULTIMATE.start_main_#t~ret45#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret45#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret45#1.offset|) (select |#length| |ULTIMATE.start_main_#t~ret45#1.base|)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret45#1.base, main_#t~ret45#1.offset;havoc task_#t~ret32#1, task_#t~ret33#1, task_#t~malloc34#1.base, task_#t~malloc34#1.offset, task_#t~ret35#1, task_#t~mem36#1, task_#t~ret37#1.base, task_#t~ret37#1.offset, task_#t~mem38#1, task_#t~ret39#1, task_#t~malloc40#1.base, task_#t~malloc40#1.offset, task_#t~ret41#1, task_#t~mem43#1, task_#t~mem44#1, task_#t~post42#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~0#1.base, task_~r~0#1.offset, task_~m~1#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {9694#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|) (select |#length| |ULTIMATE.start_task_~t#1.base|)) (bvule |ULTIMATE.start_task_~t#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)))} is VALID [2022-02-20 23:38:41,638 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {9705#(and (bvule (bvadd |nondet_tree_#res.offset| (_ bv4 32)) (select |#length| |nondet_tree_#res.base|)) (bvule |nondet_tree_#res.offset| (bvadd |nondet_tree_#res.offset| (_ bv4 32))))} {9599#true} #266#return; {9698#(and (bvule |ULTIMATE.start_main_#t~ret45#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret45#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret45#1.offset|) (select |#length| |ULTIMATE.start_main_#t~ret45#1.base|)))} is VALID [2022-02-20 23:38:41,638 INFO L290 TraceCheckUtils]: 18: Hoare triple {9705#(and (bvule (bvadd |nondet_tree_#res.offset| (_ bv4 32)) (select |#length| |nondet_tree_#res.base|)) (bvule |nondet_tree_#res.offset| (bvadd |nondet_tree_#res.offset| (_ bv4 32))))} assume true; {9705#(and (bvule (bvadd |nondet_tree_#res.offset| (_ bv4 32)) (select |#length| |nondet_tree_#res.base|)) (bvule |nondet_tree_#res.offset| (bvadd |nondet_tree_#res.offset| (_ bv4 32))))} is VALID [2022-02-20 23:38:41,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {9705#(and (bvule (bvadd |nondet_tree_#res.offset| (_ bv4 32)) (select |#length| |nondet_tree_#res.base|)) (bvule |nondet_tree_#res.offset| (bvadd |nondet_tree_#res.offset| (_ bv4 32))))} is VALID [2022-02-20 23:38:41,657 INFO L290 TraceCheckUtils]: 16: Hoare triple {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} is VALID [2022-02-20 23:38:41,690 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} #256#return; {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} is VALID [2022-02-20 23:38:41,760 INFO L290 TraceCheckUtils]: 14: Hoare triple {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} assume true; {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} is VALID [2022-02-20 23:38:41,786 INFO L290 TraceCheckUtils]: 13: Hoare triple {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} is VALID [2022-02-20 23:38:41,787 INFO L272 TraceCheckUtils]: 12: Hoare triple {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} is VALID [2022-02-20 23:38:41,788 INFO L290 TraceCheckUtils]: 11: Hoare triple {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} havoc #t~ret8.base, #t~ret8.offset; {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} is VALID [2022-02-20 23:38:41,788 INFO L290 TraceCheckUtils]: 10: Hoare triple {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} is VALID [2022-02-20 23:38:41,841 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} #254#return; {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} is VALID [2022-02-20 23:38:41,848 INFO L290 TraceCheckUtils]: 8: Hoare triple {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} assume true; {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} is VALID [2022-02-20 23:38:42,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} is VALID [2022-02-20 23:38:42,048 INFO L272 TraceCheckUtils]: 6: Hoare triple {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {9722#(forall ((v_nondet_tree_~n~0.base_BEFORE_CALL_15 (_ BitVec 32)) (v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (_ BitVec 32))) (or (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |#length| v_nondet_tree_~n~0.base_BEFORE_CALL_15)) (not (bvule (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6) (select |old(#length)| v_nondet_tree_~n~0.base_BEFORE_CALL_15))) (not (bvule v_nondet_tree_~n~0.offset_BEFORE_CALL_6 (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_6)))))} is VALID [2022-02-20 23:38:42,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} havoc #t~nondet7; {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} is VALID [2022-02-20 23:38:42,049 INFO L290 TraceCheckUtils]: 4: Hoare triple {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} is VALID [2022-02-20 23:38:42,049 INFO L290 TraceCheckUtils]: 3: Hoare triple {9599#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {9712#(and (bvule nondet_tree_~n~0.offset (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (bvule (bvadd (_ bv4 32) nondet_tree_~n~0.offset) (select |#length| nondet_tree_~n~0.base)))} is VALID [2022-02-20 23:38:42,049 INFO L272 TraceCheckUtils]: 2: Hoare triple {9599#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {9599#true} is VALID [2022-02-20 23:38:42,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {9599#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {9599#true} is VALID [2022-02-20 23:38:42,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {9599#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {9599#true} is VALID [2022-02-20 23:38:42,050 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:38:42,050 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:42,050 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [576380415] [2022-02-20 23:38:42,050 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [576380415] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:42,050 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:42,050 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 15 [2022-02-20 23:38:42,050 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1077006086] [2022-02-20 23:38:42,050 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:42,051 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 5 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 25 [2022-02-20 23:38:42,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:42,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 5 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:44,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:44,730 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:38:44,730 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:44,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:38:44,731 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=204, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:38:44,731 INFO L87 Difference]: Start difference. First operand 276 states and 356 transitions. Second operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 5 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:53,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:53,473 INFO L93 Difference]: Finished difference Result 304 states and 395 transitions. [2022-02-20 23:38:53,474 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:38:53,474 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 5 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 25 [2022-02-20 23:38:53,474 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:53,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 5 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:53,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 258 transitions. [2022-02-20 23:38:53,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 5 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:53,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 258 transitions. [2022-02-20 23:38:53,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 258 transitions. [2022-02-20 23:38:53,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 258 edges. 258 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:53,716 INFO L225 Difference]: With dead ends: 304 [2022-02-20 23:38:53,716 INFO L226 Difference]: Without dead ends: 304 [2022-02-20 23:38:53,716 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=64, Invalid=356, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:38:53,717 INFO L933 BasicCegarLoop]: 212 mSDtfsCounter, 57 mSDsluCounter, 1529 mSDsCounter, 0 mSdLazyCounter, 864 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 1741 SdHoareTripleChecker+Invalid, 1025 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 864 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 142 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:53,717 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 1741 Invalid, 1025 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 864 Invalid, 0 Unknown, 142 Unchecked, 2.8s Time] [2022-02-20 23:38:53,717 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2022-02-20 23:38:53,722 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 295. [2022-02-20 23:38:53,722 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:53,722 INFO L82 GeneralOperation]: Start isEquivalent. First operand 304 states. Second operand has 295 states, 184 states have (on average 1.5978260869565217) internal successors, (294), 243 states have internal predecessors, (294), 36 states have call successors, (36), 12 states have call predecessors, (36), 15 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) [2022-02-20 23:38:53,722 INFO L74 IsIncluded]: Start isIncluded. First operand 304 states. Second operand has 295 states, 184 states have (on average 1.5978260869565217) internal successors, (294), 243 states have internal predecessors, (294), 36 states have call successors, (36), 12 states have call predecessors, (36), 15 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) [2022-02-20 23:38:53,723 INFO L87 Difference]: Start difference. First operand 304 states. Second operand has 295 states, 184 states have (on average 1.5978260869565217) internal successors, (294), 243 states have internal predecessors, (294), 36 states have call successors, (36), 12 states have call predecessors, (36), 15 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) [2022-02-20 23:38:53,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:53,730 INFO L93 Difference]: Finished difference Result 304 states and 395 transitions. [2022-02-20 23:38:53,730 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 395 transitions. [2022-02-20 23:38:53,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:53,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:53,732 INFO L74 IsIncluded]: Start isIncluded. First operand has 295 states, 184 states have (on average 1.5978260869565217) internal successors, (294), 243 states have internal predecessors, (294), 36 states have call successors, (36), 12 states have call predecessors, (36), 15 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) Second operand 304 states. [2022-02-20 23:38:53,732 INFO L87 Difference]: Start difference. First operand has 295 states, 184 states have (on average 1.5978260869565217) internal successors, (294), 243 states have internal predecessors, (294), 36 states have call successors, (36), 12 states have call predecessors, (36), 15 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) Second operand 304 states. [2022-02-20 23:38:53,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:53,739 INFO L93 Difference]: Finished difference Result 304 states and 395 transitions. [2022-02-20 23:38:53,739 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 395 transitions. [2022-02-20 23:38:53,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:53,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:53,740 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:53,740 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:53,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 295 states, 184 states have (on average 1.5978260869565217) internal successors, (294), 243 states have internal predecessors, (294), 36 states have call successors, (36), 12 states have call predecessors, (36), 15 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) [2022-02-20 23:38:53,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 295 states to 295 states and 380 transitions. [2022-02-20 23:38:53,747 INFO L78 Accepts]: Start accepts. Automaton has 295 states and 380 transitions. Word has length 25 [2022-02-20 23:38:53,747 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:53,747 INFO L470 AbstractCegarLoop]: Abstraction has 295 states and 380 transitions. [2022-02-20 23:38:53,747 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 12 states have internal predecessors, (30), 5 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:38:53,747 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 380 transitions. [2022-02-20 23:38:53,749 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:38:53,749 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:53,749 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] [2022-02-20 23:38:53,757 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:38:53,955 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:38:53,955 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting tree_inorderErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:38:53,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:53,957 INFO L85 PathProgramCache]: Analyzing trace with hash -1805510171, now seen corresponding path program 1 times [2022-02-20 23:38:53,957 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:53,957 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1967411403] [2022-02-20 23:38:53,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:53,957 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:53,957 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:53,958 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:38:53,958 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:38:54,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:54,027 INFO L263 TraceCheckSpWp]: Trace formula consists of 110 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:38:54,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:54,038 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:54,118 INFO L290 TraceCheckUtils]: 0: Hoare triple {10978#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {10978#true} is VALID [2022-02-20 23:38:54,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {10978#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {10978#true} is VALID [2022-02-20 23:38:54,118 INFO L272 TraceCheckUtils]: 2: Hoare triple {10978#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {10978#true} is VALID [2022-02-20 23:38:54,118 INFO L290 TraceCheckUtils]: 3: Hoare triple {10978#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {10978#true} is VALID [2022-02-20 23:38:54,118 INFO L290 TraceCheckUtils]: 4: Hoare triple {10978#true} assume true; {10978#true} is VALID [2022-02-20 23:38:54,118 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10978#true} {10978#true} #266#return; {10978#true} is VALID [2022-02-20 23:38:54,119 INFO L290 TraceCheckUtils]: 6: Hoare triple {10978#true} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret45#1.base, main_#t~ret45#1.offset;havoc task_#t~ret32#1, task_#t~ret33#1, task_#t~malloc34#1.base, task_#t~malloc34#1.offset, task_#t~ret35#1, task_#t~mem36#1, task_#t~ret37#1.base, task_#t~ret37#1.offset, task_#t~mem38#1, task_#t~ret39#1, task_#t~malloc40#1.base, task_#t~malloc40#1.offset, task_#t~ret41#1, task_#t~mem43#1, task_#t~mem44#1, task_#t~post42#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~0#1.base, task_~r~0#1.offset, task_~m~1#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {10978#true} is VALID [2022-02-20 23:38:54,119 INFO L272 TraceCheckUtils]: 7: Hoare triple {10978#true} call task_#t~ret32#1 := min(task_~t#1.base, task_~t#1.offset); {10978#true} is VALID [2022-02-20 23:38:54,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {10978#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {10978#true} is VALID [2022-02-20 23:38:54,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {10978#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {10978#true} is VALID [2022-02-20 23:38:54,119 INFO L290 TraceCheckUtils]: 10: Hoare triple {10978#true} assume true; {10978#true} is VALID [2022-02-20 23:38:54,119 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {10978#true} {10978#true} #268#return; {10978#true} is VALID [2022-02-20 23:38:54,119 INFO L290 TraceCheckUtils]: 12: Hoare triple {10978#true} task_~a~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {10978#true} is VALID [2022-02-20 23:38:54,119 INFO L272 TraceCheckUtils]: 13: Hoare triple {10978#true} call task_#t~ret33#1 := size(task_~t#1.base, task_~t#1.offset); {10978#true} is VALID [2022-02-20 23:38:54,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {10978#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {10978#true} is VALID [2022-02-20 23:38:54,120 INFO L290 TraceCheckUtils]: 15: Hoare triple {10978#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {11028#(= |size_#res| (_ bv0 32))} is VALID [2022-02-20 23:38:54,120 INFO L290 TraceCheckUtils]: 16: Hoare triple {11028#(= |size_#res| (_ bv0 32))} assume true; {11028#(= |size_#res| (_ bv0 32))} is VALID [2022-02-20 23:38:54,121 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {11028#(= |size_#res| (_ bv0 32))} {10978#true} #270#return; {11035#(= |ULTIMATE.start_task_#t~ret33#1| (_ bv0 32))} is VALID [2022-02-20 23:38:54,121 INFO L290 TraceCheckUtils]: 18: Hoare triple {11035#(= |ULTIMATE.start_task_#t~ret33#1| (_ bv0 32))} task_~n~1#1 := task_#t~ret33#1;havoc task_#t~ret33#1;assume { :begin_inline_assume_cycle_if_not } true;assume_cycle_if_not_#in~cond#1 := (if 0bv32 != task_~n~1#1 then 1bv32 else 0bv32);havoc assume_cycle_if_not_~cond#1;assume_cycle_if_not_~cond#1 := assume_cycle_if_not_#in~cond#1; {11039#(= |ULTIMATE.start_assume_cycle_if_not_~cond#1| (_ bv0 32))} is VALID [2022-02-20 23:38:54,122 INFO L290 TraceCheckUtils]: 19: Hoare triple {11039#(= |ULTIMATE.start_assume_cycle_if_not_~cond#1| (_ bv0 32))} assume !(0bv32 == assume_cycle_if_not_~cond#1); {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L290 TraceCheckUtils]: 20: Hoare triple {10979#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc34#1.base, task_#t~malloc34#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L272 TraceCheckUtils]: 21: Hoare triple {10979#false} call #Ultimate.meminit(task_#t~malloc34#1.base, task_#t~malloc34#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L290 TraceCheckUtils]: 22: Hoare triple {10979#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L290 TraceCheckUtils]: 23: Hoare triple {10979#false} assume true; {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {10979#false} {10979#false} #272#return; {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L290 TraceCheckUtils]: 25: Hoare triple {10979#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc34#1.base, task_#t~malloc34#1.offset; {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L272 TraceCheckUtils]: 26: Hoare triple {10979#false} call task_#t~ret35#1 := tree_inorder(task_~t#1.base, task_~t#1.offset, task_~x~0#1.base, task_~x~0#1.offset, task_~n~1#1); {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L290 TraceCheckUtils]: 27: Hoare triple {10979#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L290 TraceCheckUtils]: 28: Hoare triple {10979#false} assume !(~t.base == 0bv32 && ~t.offset == 0bv32); {10979#false} is VALID [2022-02-20 23:38:54,122 INFO L290 TraceCheckUtils]: 29: Hoare triple {10979#false} assume !(1bv1 == #valid[~t.base]); {10979#false} is VALID [2022-02-20 23:38:54,123 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:38:54,123 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:54,123 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:54,123 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1967411403] [2022-02-20 23:38:54,123 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1967411403] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:54,123 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:54,123 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:38:54,123 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1042854398] [2022-02-20 23:38:54,123 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:54,123 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-02-20 23:38:54,124 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:54,124 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:54,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:54,146 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:38:54,146 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:54,146 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:38:54,147 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:38:54,147 INFO L87 Difference]: Start difference. First operand 295 states and 380 transitions. Second operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:54,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:54,995 INFO L93 Difference]: Finished difference Result 261 states and 312 transitions. [2022-02-20 23:38:54,995 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:38:54,996 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-02-20 23:38:54,996 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:54,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:55,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 212 transitions. [2022-02-20 23:38:55,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:55,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 212 transitions. [2022-02-20 23:38:55,004 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 212 transitions. [2022-02-20 23:38:55,185 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 212 edges. 212 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:55,197 INFO L225 Difference]: With dead ends: 261 [2022-02-20 23:38:55,198 INFO L226 Difference]: Without dead ends: 243 [2022-02-20 23:38:55,198 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:38:55,198 INFO L933 BasicCegarLoop]: 204 mSDtfsCounter, 0 mSDsluCounter, 608 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 812 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:55,199 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 812 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:38:55,199 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 243 states. [2022-02-20 23:38:55,206 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 243 to 243. [2022-02-20 23:38:55,206 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:55,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 243 states. Second operand has 243 states, 141 states have (on average 1.5602836879432624) internal successors, (220), 200 states have internal predecessors, (220), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) [2022-02-20 23:38:55,207 INFO L74 IsIncluded]: Start isIncluded. First operand 243 states. Second operand has 243 states, 141 states have (on average 1.5602836879432624) internal successors, (220), 200 states have internal predecessors, (220), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) [2022-02-20 23:38:55,207 INFO L87 Difference]: Start difference. First operand 243 states. Second operand has 243 states, 141 states have (on average 1.5602836879432624) internal successors, (220), 200 states have internal predecessors, (220), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) [2022-02-20 23:38:55,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:55,213 INFO L93 Difference]: Finished difference Result 243 states and 294 transitions. [2022-02-20 23:38:55,213 INFO L276 IsEmpty]: Start isEmpty. Operand 243 states and 294 transitions. [2022-02-20 23:38:55,214 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:55,214 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:55,214 INFO L74 IsIncluded]: Start isIncluded. First operand has 243 states, 141 states have (on average 1.5602836879432624) internal successors, (220), 200 states have internal predecessors, (220), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) Second operand 243 states. [2022-02-20 23:38:55,215 INFO L87 Difference]: Start difference. First operand has 243 states, 141 states have (on average 1.5602836879432624) internal successors, (220), 200 states have internal predecessors, (220), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) Second operand 243 states. [2022-02-20 23:38:55,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:55,220 INFO L93 Difference]: Finished difference Result 243 states and 294 transitions. [2022-02-20 23:38:55,221 INFO L276 IsEmpty]: Start isEmpty. Operand 243 states and 294 transitions. [2022-02-20 23:38:55,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:55,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:55,221 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:55,222 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:55,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 243 states, 141 states have (on average 1.5602836879432624) internal successors, (220), 200 states have internal predecessors, (220), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) [2022-02-20 23:38:55,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 243 states to 243 states and 294 transitions. [2022-02-20 23:38:55,228 INFO L78 Accepts]: Start accepts. Automaton has 243 states and 294 transitions. Word has length 30 [2022-02-20 23:38:55,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:55,228 INFO L470 AbstractCegarLoop]: Abstraction has 243 states and 294 transitions. [2022-02-20 23:38:55,228 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:55,229 INFO L276 IsEmpty]: Start isEmpty. Operand 243 states and 294 transitions. [2022-02-20 23:38:55,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:38:55,229 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:55,229 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:55,238 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:55,436 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:38:55,436 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting sizeErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:38:55,436 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:55,436 INFO L85 PathProgramCache]: Analyzing trace with hash -1626172482, now seen corresponding path program 1 times [2022-02-20 23:38:55,436 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:55,437 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [219295007] [2022-02-20 23:38:55,437 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:55,437 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:55,437 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:55,438 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:38:55,438 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:38:55,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:55,504 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:38:55,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:55,514 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:55,614 INFO L290 TraceCheckUtils]: 0: Hoare triple {12062#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {12062#true} is VALID [2022-02-20 23:38:55,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {12062#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {12062#true} is VALID [2022-02-20 23:38:55,614 INFO L272 TraceCheckUtils]: 2: Hoare triple {12062#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {12062#true} is VALID [2022-02-20 23:38:55,614 INFO L290 TraceCheckUtils]: 3: Hoare triple {12062#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:55,615 INFO L290 TraceCheckUtils]: 4: Hoare triple {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:55,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} havoc #t~nondet7; {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:55,615 INFO L272 TraceCheckUtils]: 6: Hoare triple {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {12062#true} is VALID [2022-02-20 23:38:55,615 INFO L290 TraceCheckUtils]: 7: Hoare triple {12062#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {12062#true} is VALID [2022-02-20 23:38:55,615 INFO L290 TraceCheckUtils]: 8: Hoare triple {12062#true} assume true; {12062#true} is VALID [2022-02-20 23:38:55,616 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {12062#true} {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #254#return; {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:55,616 INFO L290 TraceCheckUtils]: 10: Hoare triple {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:55,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} havoc #t~ret8.base, #t~ret8.offset; {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:55,616 INFO L272 TraceCheckUtils]: 12: Hoare triple {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {12062#true} is VALID [2022-02-20 23:38:55,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {12062#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {12062#true} is VALID [2022-02-20 23:38:55,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {12062#true} assume true; {12062#true} is VALID [2022-02-20 23:38:55,617 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12062#true} {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #256#return; {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:55,617 INFO L290 TraceCheckUtils]: 16: Hoare triple {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:55,617 INFO L290 TraceCheckUtils]: 17: Hoare triple {12076#(not (= nondet_tree_~n~0.base (_ bv0 32)))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {12119#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:55,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {12119#(not (= |nondet_tree_#res.base| (_ bv0 32)))} assume true; {12119#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:55,618 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {12119#(not (= |nondet_tree_#res.base| (_ bv0 32)))} {12062#true} #266#return; {12126#(not (= |ULTIMATE.start_main_#t~ret45#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:55,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {12126#(not (= |ULTIMATE.start_main_#t~ret45#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret45#1.base, main_#t~ret45#1.offset;havoc task_#t~ret32#1, task_#t~ret33#1, task_#t~malloc34#1.base, task_#t~malloc34#1.offset, task_#t~ret35#1, task_#t~mem36#1, task_#t~ret37#1.base, task_#t~ret37#1.offset, task_#t~mem38#1, task_#t~ret39#1, task_#t~malloc40#1.base, task_#t~malloc40#1.offset, task_#t~ret41#1, task_#t~mem43#1, task_#t~mem44#1, task_#t~post42#1, task_~t#1.base, task_~t#1.offset, task_~a~1#1, task_~#b~1#1.base, task_~#b~1#1.offset, task_~n~1#1, task_~x~0#1.base, task_~x~0#1.offset, task_~r~0#1.base, task_~r~0#1.offset, task_~m~1#1, task_~y~0#1.base, task_~y~0#1.offset, task_~i~0#1;task_~t#1.base, task_~t#1.offset := task_#in~t#1.base, task_#in~t#1.offset; {12130#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:55,619 INFO L272 TraceCheckUtils]: 21: Hoare triple {12130#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret32#1 := min(task_~t#1.base, task_~t#1.offset); {12062#true} is VALID [2022-02-20 23:38:55,619 INFO L290 TraceCheckUtils]: 22: Hoare triple {12062#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {12137#(= |min_#in~n.base| min_~n.base)} is VALID [2022-02-20 23:38:55,619 INFO L290 TraceCheckUtils]: 23: Hoare triple {12137#(= |min_#in~n.base| min_~n.base)} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {12141#(= |min_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 23:38:55,619 INFO L290 TraceCheckUtils]: 24: Hoare triple {12141#(= |min_#in~n.base| (_ bv0 32))} assume true; {12141#(= |min_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 23:38:55,620 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {12141#(= |min_#in~n.base| (_ bv0 32))} {12130#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #268#return; {12063#false} is VALID [2022-02-20 23:38:55,620 INFO L290 TraceCheckUtils]: 26: Hoare triple {12063#false} task_~a~1#1 := task_#t~ret32#1;havoc task_#t~ret32#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {12063#false} is VALID [2022-02-20 23:38:55,620 INFO L272 TraceCheckUtils]: 27: Hoare triple {12063#false} call task_#t~ret33#1 := size(task_~t#1.base, task_~t#1.offset); {12063#false} is VALID [2022-02-20 23:38:55,620 INFO L290 TraceCheckUtils]: 28: Hoare triple {12063#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {12063#false} is VALID [2022-02-20 23:38:55,620 INFO L290 TraceCheckUtils]: 29: Hoare triple {12063#false} assume !(~t.base == 0bv32 && ~t.offset == 0bv32); {12063#false} is VALID [2022-02-20 23:38:55,620 INFO L290 TraceCheckUtils]: 30: Hoare triple {12063#false} assume !(1bv1 == #valid[~t.base]); {12063#false} is VALID [2022-02-20 23:38:55,620 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 23:38:55,621 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:55,621 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:55,621 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [219295007] [2022-02-20 23:38:55,621 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [219295007] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:55,621 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:55,621 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 23:38:55,621 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [744992828] [2022-02-20 23:38:55,621 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:55,621 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.857142857142857) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 31 [2022-02-20 23:38:55,621 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:55,622 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.857142857142857) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:55,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:55,650 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:38:55,650 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:55,651 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:38:55,651 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:38:55,651 INFO L87 Difference]: Start difference. First operand 243 states and 294 transitions. Second operand has 8 states, 7 states have (on average 2.857142857142857) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:57,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:57,324 INFO L93 Difference]: Finished difference Result 249 states and 303 transitions. [2022-02-20 23:38:57,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:38:57,324 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.857142857142857) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 31 [2022-02-20 23:38:57,325 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:57,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.857142857142857) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:57,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 212 transitions. [2022-02-20 23:38:57,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.857142857142857) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:57,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 212 transitions. [2022-02-20 23:38:57,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 212 transitions. [2022-02-20 23:38:57,532 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 212 edges. 212 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:57,535 INFO L225 Difference]: With dead ends: 249 [2022-02-20 23:38:57,536 INFO L226 Difference]: Without dead ends: 245 [2022-02-20 23:38:57,536 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:38:57,536 INFO L933 BasicCegarLoop]: 186 mSDtfsCounter, 211 mSDsluCounter, 875 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 215 SdHoareTripleChecker+Valid, 1061 SdHoareTripleChecker+Invalid, 167 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:57,536 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [215 Valid, 1061 Invalid, 167 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 145 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:38:57,537 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 245 states. [2022-02-20 23:38:57,540 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 245 to 243. [2022-02-20 23:38:57,540 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:57,540 INFO L82 GeneralOperation]: Start isEquivalent. First operand 245 states. Second operand has 243 states, 141 states have (on average 1.5460992907801419) internal successors, (218), 200 states have internal predecessors, (218), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) [2022-02-20 23:38:57,540 INFO L74 IsIncluded]: Start isIncluded. First operand 245 states. Second operand has 243 states, 141 states have (on average 1.5460992907801419) internal successors, (218), 200 states have internal predecessors, (218), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) [2022-02-20 23:38:57,541 INFO L87 Difference]: Start difference. First operand 245 states. Second operand has 243 states, 141 states have (on average 1.5460992907801419) internal successors, (218), 200 states have internal predecessors, (218), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) [2022-02-20 23:38:57,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:57,547 INFO L93 Difference]: Finished difference Result 245 states and 299 transitions. [2022-02-20 23:38:57,547 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 299 transitions. [2022-02-20 23:38:57,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:57,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:57,548 INFO L74 IsIncluded]: Start isIncluded. First operand has 243 states, 141 states have (on average 1.5460992907801419) internal successors, (218), 200 states have internal predecessors, (218), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) Second operand 245 states. [2022-02-20 23:38:57,548 INFO L87 Difference]: Start difference. First operand has 243 states, 141 states have (on average 1.5460992907801419) internal successors, (218), 200 states have internal predecessors, (218), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) Second operand 245 states. [2022-02-20 23:38:57,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:57,554 INFO L93 Difference]: Finished difference Result 245 states and 299 transitions. [2022-02-20 23:38:57,554 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 299 transitions. [2022-02-20 23:38:57,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:57,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:57,555 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:57,555 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:57,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 243 states, 141 states have (on average 1.5460992907801419) internal successors, (218), 200 states have internal predecessors, (218), 29 states have call successors, (29), 10 states have call predecessors, (29), 13 states have return successors, (45), 32 states have call predecessors, (45), 29 states have call successors, (45) [2022-02-20 23:38:57,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 243 states to 243 states and 292 transitions. [2022-02-20 23:38:57,560 INFO L78 Accepts]: Start accepts. Automaton has 243 states and 292 transitions. Word has length 31 [2022-02-20 23:38:57,560 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:57,560 INFO L470 AbstractCegarLoop]: Abstraction has 243 states and 292 transitions. [2022-02-20 23:38:57,560 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.857142857142857) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:57,560 INFO L276 IsEmpty]: Start isEmpty. Operand 243 states and 292 transitions. [2022-02-20 23:38:57,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:38:57,562 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:57,562 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:57,581 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:38:57,769 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:38:57,769 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting minErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:38:57,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:57,770 INFO L85 PathProgramCache]: Analyzing trace with hash -575590880, now seen corresponding path program 1 times [2022-02-20 23:38:57,770 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:57,770 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1727978082] [2022-02-20 23:38:57,770 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:57,770 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:57,770 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:57,772 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:38:57,772 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Waiting until timeout for monitored process [2022-02-20 23:38:57,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:57,869 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 37 conjunts are in the unsatisfiable core [2022-02-20 23:38:57,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:57,883 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:57,936 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 23:38:57,941 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 23:38:58,024 INFO L356 Elim1Store]: treesize reduction 27, result has 25.0 percent of original size [2022-02-20 23:38:58,024 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 22 [2022-02-20 23:38:58,030 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:58,030 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 23 treesize of output 22 [2022-02-20 23:38:58,202 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 7 [2022-02-20 23:38:58,204 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 7 [2022-02-20 23:38:58,276 INFO L290 TraceCheckUtils]: 0: Hoare triple {13151#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {13151#true} is VALID [2022-02-20 23:38:58,277 INFO L290 TraceCheckUtils]: 1: Hoare triple {13151#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret45#1.base, main_#t~ret45#1.offset; {13151#true} is VALID [2022-02-20 23:38:58,277 INFO L272 TraceCheckUtils]: 2: Hoare triple {13151#true} call main_#t~ret45#1.base, main_#t~ret45#1.offset := nondet_tree(); {13151#true} is VALID [2022-02-20 23:38:58,277 INFO L290 TraceCheckUtils]: 3: Hoare triple {13151#true} assume !(0bv8 != #t~nondet5);havoc #t~nondet5;call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(12bv32);~n~0.base, ~n~0.offset := #t~malloc6.base, #t~malloc6.offset;havoc #t~malloc6.base, #t~malloc6.offset; {13151#true} is VALID [2022-02-20 23:38:58,277 INFO L290 TraceCheckUtils]: 4: Hoare triple {13151#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {13151#true} is VALID [2022-02-20 23:38:58,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {13151#true} havoc #t~nondet7; {13151#true} is VALID [2022-02-20 23:38:58,277 INFO L272 TraceCheckUtils]: 6: Hoare triple {13151#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {13151#true} is VALID [2022-02-20 23:38:58,277 INFO L290 TraceCheckUtils]: 7: Hoare triple {13151#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {13177#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:58,278 INFO L290 TraceCheckUtils]: 8: Hoare triple {13177#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {13177#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:58,278 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {13177#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {13151#true} #254#return; {13184#(and (= (_ bv0 32) |nondet_tree_#t~ret8.base|) (= |nondet_tree_#t~ret8.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:58,280 INFO L290 TraceCheckUtils]: 10: Hoare triple {13184#(and (= (_ bv0 32) |nondet_tree_#t~ret8.base|) (= |nondet_tree_#t~ret8.offset| (_ bv0 32)))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {13188#(and (= (select (select |#memory_$Pointer$.offset| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset))))} is VALID [2022-02-20 23:38:58,280 INFO L290 TraceCheckUtils]: 11: Hoare triple {13188#(and (= (select (select |#memory_$Pointer$.offset| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset))))} havoc #t~ret8.base, #t~ret8.offset; {13188#(and (= (select (select |#memory_$Pointer$.offset| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset))))} is VALID [2022-02-20 23:38:58,280 INFO L272 TraceCheckUtils]: 12: Hoare triple {13188#(and (= (select (select |#memory_$Pointer$.offset| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {13195#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:58,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {13195#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {13195#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:58,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {13195#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {13195#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:58,282 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13195#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {13188#(and (= (select (select |#memory_$Pointer$.offset| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset))))} #256#return; {13188#(and (= (select (select |#memory_$Pointer$.offset| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset))))} is VALID [2022-02-20 23:38:58,284 INFO L290 TraceCheckUtils]: 16: Hoare triple {13188#(and (= (select (select |#memory_$Pointer$.offset| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset))))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L31-1 {13188#(and (= (select (select |#memory_$Pointer$.offset| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| nondet_tree_~n~0.base) (bvadd (_ bv4 32) nondet_tree_~n~0.offset))))} is VALID