./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memcleanup.prp --file ../sv-benchmarks/c/verifythis/tree_del_rec.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_rec.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 448d6e9f7f0c094a8335d652a2766ae983308e33ec1a543ceaed97ae79744722 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:37:46,890 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:37:46,892 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:37:46,944 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:37:46,945 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:37:46,962 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:37:46,963 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:37:46,965 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:37:46,966 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:37:46,971 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:37:46,971 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:37:46,972 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:37:46,972 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:37:46,972 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:37:46,973 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:37:46,974 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:37:46,974 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:37:46,974 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:37:46,975 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:37:46,976 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:37:46,977 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:37:46,980 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:37:46,983 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:37:46,983 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:37:47,001 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:37:47,001 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:37:47,001 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:37:47,002 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:37:47,003 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:37:47,003 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:37:47,004 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:37:47,005 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:37:47,006 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:37:47,006 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:37:47,007 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:37:47,007 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:37:47,007 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:37:47,007 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:37:47,008 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:37:47,008 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:37:47,008 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:37:47,009 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:47,051 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:37:47,051 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:37:47,051 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:37:47,051 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:37:47,052 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:37:47,052 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:37:47,052 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:37:47,052 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:37:47,052 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:37:47,052 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:37:47,053 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:37:47,053 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:37:47,054 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:37:47,054 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:47,054 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:37:47,054 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:37:47,054 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:37:47,054 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:37:47,054 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 -> 448d6e9f7f0c094a8335d652a2766ae983308e33ec1a543ceaed97ae79744722 [2022-02-20 23:37:47,368 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:37:47,389 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:37:47,391 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:37:47,392 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:37:47,394 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:37:47,395 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_del_rec.c [2022-02-20 23:37:47,437 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a9232208c/b0b8cf8f093f4cf1be57549be5a055b9/FLAGcd5ab6722 [2022-02-20 23:37:47,810 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:37:47,810 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_rec.c [2022-02-20 23:37:47,818 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a9232208c/b0b8cf8f093f4cf1be57549be5a055b9/FLAGcd5ab6722 [2022-02-20 23:37:47,830 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a9232208c/b0b8cf8f093f4cf1be57549be5a055b9 [2022-02-20 23:37:47,832 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:37:47,833 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:37:47,836 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:47,836 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:37:47,838 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:37:47,839 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,840 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1a396042 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,840 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,846 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:37:47,862 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:48,013 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_rec.c[585,598] [2022-02-20 23:37:48,033 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:48,035 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:48,063 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:48,073 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:48,074 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@75c9d39a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:48, skipping insertion in model container [2022-02-20 23:37:48,074 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:48,075 INFO L184 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2022-02-20 23:37:48,078 INFO L158 Benchmark]: Toolchain (without parser) took 242.89ms. Allocated memory is still 159.4MB. Free memory was 125.8MB in the beginning and 131.6MB in the end (delta: -5.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 23:37:48,079 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 79.7MB. Free memory is still 37.0MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:37:48,079 INFO L158 Benchmark]: CACSL2BoogieTranslator took 238.50ms. Allocated memory is still 159.4MB. Free memory was 125.8MB in the beginning and 131.6MB in the end (delta: -5.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 23:37:48,080 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 79.7MB. Free memory is still 37.0MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 238.50ms. Allocated memory is still 159.4MB. Free memory was 125.8MB in the beginning and 131.6MB in the end (delta: -5.8MB). 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_rec.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 448d6e9f7f0c094a8335d652a2766ae983308e33ec1a543ceaed97ae79744722 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:37:50,078 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:37:50,080 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:37:50,112 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:37:50,112 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:37:50,115 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:37:50,116 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:37:50,120 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:37:50,122 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:37:50,126 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:37:50,126 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:37:50,129 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:37:50,130 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:37:50,138 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:37:50,139 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:37:50,141 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:37:50,142 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:37:50,142 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:37:50,144 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:37:50,149 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:37:50,150 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:37:50,151 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:37:50,152 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:37:50,153 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:37:50,158 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:37:50,159 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:37:50,159 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:37:50,161 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:37:50,161 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:37:50,162 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:37:50,162 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:37:50,163 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:37:50,164 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:37:50,164 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:37:50,165 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:37:50,166 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:37:50,166 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:37:50,167 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:37:50,167 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:37:50,168 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:37:50,169 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:37:50,172 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:50,201 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:37:50,201 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:37:50,202 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:37:50,202 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:37:50,203 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:37:50,203 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:37:50,204 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:37:50,204 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:37:50,204 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:37:50,205 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:37:50,205 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:37:50,205 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:37:50,206 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:37:50,206 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:37:50,206 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:37:50,206 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:37:50,206 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:37:50,206 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:37:50,207 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:37:50,207 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:37:50,207 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:37:50,207 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:37:50,207 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:37:50,207 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:37:50,207 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:37:50,208 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:37:50,208 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:50,208 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:37:50,208 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:37:50,208 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:37:50,208 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:37:50,209 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:37:50,209 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 -> 448d6e9f7f0c094a8335d652a2766ae983308e33ec1a543ceaed97ae79744722 [2022-02-20 23:37:50,466 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:37:50,482 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:37:50,484 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:37:50,485 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:37:50,485 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:37:50,486 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_del_rec.c [2022-02-20 23:37:50,546 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5441ce70b/aeb35f8802254b7aa9efb9a1dc77e333/FLAG48b11806d [2022-02-20 23:37:50,989 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:37:50,990 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_del_rec.c [2022-02-20 23:37:50,994 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5441ce70b/aeb35f8802254b7aa9efb9a1dc77e333/FLAG48b11806d [2022-02-20 23:37:51,406 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5441ce70b/aeb35f8802254b7aa9efb9a1dc77e333 [2022-02-20 23:37:51,414 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:37:51,415 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:37:51,417 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:51,418 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:37:51,420 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:37:51,421 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:51" (1/1) ... [2022-02-20 23:37:51,422 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@792b24a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:51, skipping insertion in model container [2022-02-20 23:37:51,422 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:51" (1/1) ... [2022-02-20 23:37:51,433 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:37:51,449 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:51,537 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_rec.c[585,598] [2022-02-20 23:37:51,548 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:51,551 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:51,565 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:51,585 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 23:37:51,602 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:51,607 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_rec.c[585,598] [2022-02-20 23:37:51,619 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:51,622 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:51,637 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:51,650 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:37:51,663 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_rec.c[585,598] [2022-02-20 23:37:51,667 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:51,671 WARN L1545 CHandler]: Possible shadowing of function min [2022-02-20 23:37:51,680 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:51,692 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:37:51,695 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:51 WrapperNode [2022-02-20 23:37:51,695 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:51,697 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:51,697 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:37:51,698 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:37:51,703 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:51" (1/1) ... [2022-02-20 23:37:51,724 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:51" (1/1) ... [2022-02-20 23:37:51,741 INFO L137 Inliner]: procedures = 31, calls = 61, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 75 [2022-02-20 23:37:51,741 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:51,742 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:37:51,742 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:37:51,742 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:37:51,748 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:51" (1/1) ... [2022-02-20 23:37:51,748 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:51" (1/1) ... [2022-02-20 23:37:51,764 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:51" (1/1) ... [2022-02-20 23:37:51,767 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:51" (1/1) ... [2022-02-20 23:37:51,790 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:51" (1/1) ... [2022-02-20 23:37:51,805 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:51" (1/1) ... [2022-02-20 23:37:51,806 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:51" (1/1) ... [2022-02-20 23:37:51,818 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:37:51,831 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:37:51,832 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:37:51,832 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:37:51,832 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:51" (1/1) ... [2022-02-20 23:37:51,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:51,846 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:51,857 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:51,859 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:51,888 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:37:51,889 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:37:51,889 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:37:51,889 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:37:51,889 INFO L130 BoogieDeclarations]: Found specification of procedure tree_del [2022-02-20 23:37:51,889 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_del [2022-02-20 23:37:51,889 INFO L130 BoogieDeclarations]: Found specification of procedure min [2022-02-20 23:37:51,889 INFO L138 BoogieDeclarations]: Found implementation of procedure min [2022-02-20 23:37:51,889 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 23:37:51,890 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-02-20 23:37:51,890 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-02-20 23:37:51,890 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:37:51,890 INFO L130 BoogieDeclarations]: Found specification of procedure nondet_tree [2022-02-20 23:37:51,890 INFO L138 BoogieDeclarations]: Found implementation of procedure nondet_tree [2022-02-20 23:37:51,891 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:37:51,891 INFO L130 BoogieDeclarations]: Found specification of procedure size [2022-02-20 23:37:51,891 INFO L138 BoogieDeclarations]: Found implementation of procedure size [2022-02-20 23:37:51,891 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:37:51,891 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:37:51,891 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 23:37:51,891 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 23:37:51,891 INFO L130 BoogieDeclarations]: Found specification of procedure tree_inorder [2022-02-20 23:37:51,891 INFO L138 BoogieDeclarations]: Found implementation of procedure tree_inorder [2022-02-20 23:37:51,892 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:37:51,892 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:37:52,016 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:37:52,021 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:37:52,588 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:37:52,601 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:37:52,602 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 23:37:52,604 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:52 BoogieIcfgContainer [2022-02-20 23:37:52,604 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:37:52,605 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:37:52,606 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:37:52,608 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:37:52,608 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:37:51" (1/3) ... [2022-02-20 23:37:52,608 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48624486 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:52, skipping insertion in model container [2022-02-20 23:37:52,609 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:51" (2/3) ... [2022-02-20 23:37:52,610 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@48624486 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:52, skipping insertion in model container [2022-02-20 23:37:52,610 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:52" (3/3) ... [2022-02-20 23:37:52,611 INFO L111 eAbstractionObserver]: Analyzing ICFG tree_del_rec.c [2022-02-20 23:37:52,615 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:37:52,615 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 55 error locations. [2022-02-20 23:37:52,655 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:37:52,661 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:52,661 INFO L340 AbstractCegarLoop]: Starting to check reachability of 55 error locations. [2022-02-20 23:37:52,687 INFO L276 IsEmpty]: Start isEmpty. Operand has 174 states, 89 states have (on average 1.7640449438202248) internal successors, (157), 144 states have internal predecessors, (157), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 23:37:52,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:37:52,692 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:52,692 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:37:52,692 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting nondet_treeErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:37:52,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:52,696 INFO L85 PathProgramCache]: Analyzing trace with hash 120433579, now seen corresponding path program 1 times [2022-02-20 23:37:52,704 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:52,704 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [706395594] [2022-02-20 23:37:52,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:52,705 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:52,705 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:52,710 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:52,711 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:52,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:52,764 INFO L263 TraceCheckSpWp]: Trace formula consists of 36 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:37:52,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:52,772 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:52,826 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:52,837 INFO L290 TraceCheckUtils]: 0: Hoare triple {177#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {177#true} is VALID [2022-02-20 23:37:52,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {177#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {177#true} is VALID [2022-02-20 23:37:52,838 INFO L272 TraceCheckUtils]: 2: Hoare triple {177#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {177#true} is VALID [2022-02-20 23:37:52,839 INFO L290 TraceCheckUtils]: 3: Hoare triple {177#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; {191#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:52,840 INFO L290 TraceCheckUtils]: 4: Hoare triple {191#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {178#false} is VALID [2022-02-20 23:37:52,840 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:52,841 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:52,841 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:52,841 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [706395594] [2022-02-20 23:37:52,842 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [706395594] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:52,842 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:52,842 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:37:52,843 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1861302676] [2022-02-20 23:37:52,844 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:52,847 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,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:52,850 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:52,855 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:52,856 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:52,856 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:52,868 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:52,869 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:52,871 INFO L87 Difference]: Start difference. First operand has 174 states, 89 states have (on average 1.7640449438202248) internal successors, (157), 144 states have internal predecessors, (157), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) 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,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,425 INFO L93 Difference]: Finished difference Result 175 states and 200 transitions. [2022-02-20 23:37:53,425 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:53,426 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,426 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:53,427 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,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 205 transitions. [2022-02-20 23:37:53,436 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,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 205 transitions. [2022-02-20 23:37:53,442 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 205 transitions. [2022-02-20 23:37:53,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:53,651 INFO L225 Difference]: With dead ends: 175 [2022-02-20 23:37:53,651 INFO L226 Difference]: Without dead ends: 172 [2022-02-20 23:37:53,652 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:53,673 INFO L933 BasicCegarLoop]: 197 mSDtfsCounter, 6 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 326 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:53,675 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 326 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:53,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 172 states. [2022-02-20 23:37:53,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 172 to 170. [2022-02-20 23:37:53,721 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:53,725 INFO L82 GeneralOperation]: Start isEquivalent. First operand 172 states. Second operand has 170 states, 87 states have (on average 1.7011494252873562) internal successors, (148), 140 states have internal predecessors, (148), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 23:37:53,727 INFO L74 IsIncluded]: Start isIncluded. First operand 172 states. Second operand has 170 states, 87 states have (on average 1.7011494252873562) internal successors, (148), 140 states have internal predecessors, (148), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 23:37:53,729 INFO L87 Difference]: Start difference. First operand 172 states. Second operand has 170 states, 87 states have (on average 1.7011494252873562) internal successors, (148), 140 states have internal predecessors, (148), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 23:37:53,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,744 INFO L93 Difference]: Finished difference Result 172 states and 196 transitions. [2022-02-20 23:37:53,744 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 196 transitions. [2022-02-20 23:37:53,747 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,747 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,748 INFO L74 IsIncluded]: Start isIncluded. First operand has 170 states, 87 states have (on average 1.7011494252873562) internal successors, (148), 140 states have internal predecessors, (148), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 172 states. [2022-02-20 23:37:53,748 INFO L87 Difference]: Start difference. First operand has 170 states, 87 states have (on average 1.7011494252873562) internal successors, (148), 140 states have internal predecessors, (148), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 172 states. [2022-02-20 23:37:53,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,762 INFO L93 Difference]: Finished difference Result 172 states and 196 transitions. [2022-02-20 23:37:53,762 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 196 transitions. [2022-02-20 23:37:53,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:53,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:53,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 170 states, 87 states have (on average 1.7011494252873562) internal successors, (148), 140 states have internal predecessors, (148), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 23:37:53,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 170 states to 170 states and 192 transitions. [2022-02-20 23:37:53,780 INFO L78 Accepts]: Start accepts. Automaton has 170 states and 192 transitions. Word has length 5 [2022-02-20 23:37:53,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:53,781 INFO L470 AbstractCegarLoop]: Abstraction has 170 states and 192 transitions. [2022-02-20 23:37:53,781 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:53,781 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 192 transitions. [2022-02-20 23:37:53,782 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:37:53,782 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:53,782 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:37:53,795 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,988 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,990 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting nondet_treeErr1REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:37:53,991 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:53,991 INFO L85 PathProgramCache]: Analyzing trace with hash 120433580, now seen corresponding path program 1 times [2022-02-20 23:37:53,991 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:53,991 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1224688895] [2022-02-20 23:37:53,991 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:53,992 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:53,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:53,993 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,994 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:54,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:54,025 INFO L263 TraceCheckSpWp]: Trace formula consists of 36 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:37:54,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:54,029 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:54,044 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:54,051 INFO L290 TraceCheckUtils]: 0: Hoare triple {883#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {883#true} is VALID [2022-02-20 23:37:54,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {883#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {883#true} is VALID [2022-02-20 23:37:54,051 INFO L272 TraceCheckUtils]: 2: Hoare triple {883#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {883#true} is VALID [2022-02-20 23:37:54,052 INFO L290 TraceCheckUtils]: 3: Hoare triple {883#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; {897#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:54,053 INFO L290 TraceCheckUtils]: 4: Hoare triple {897#(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)); {884#false} is VALID [2022-02-20 23:37:54,053 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,053 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:54,053 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:54,054 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1224688895] [2022-02-20 23:37:54,054 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1224688895] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:54,054 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:54,054 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:37:54,054 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [517491288] [2022-02-20 23:37:54,054 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:54,055 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:54,055 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:54,056 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:54,060 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:54,060 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:54,060 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:54,061 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:54,061 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:54,061 INFO L87 Difference]: Start difference. First operand 170 states and 192 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:54,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:54,597 INFO L93 Difference]: Finished difference Result 169 states and 191 transitions. [2022-02-20 23:37:54,597 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:54,597 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:54,597 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:54,597 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:54,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 192 transitions. [2022-02-20 23:37:54,602 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:54,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 192 transitions. [2022-02-20 23:37:54,608 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 192 transitions. [2022-02-20 23:37:54,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 192 edges. 192 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:54,794 INFO L225 Difference]: With dead ends: 169 [2022-02-20 23:37:54,794 INFO L226 Difference]: Without dead ends: 169 [2022-02-20 23:37:54,795 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,795 INFO L933 BasicCegarLoop]: 190 mSDtfsCounter, 2 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 327 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:54,796 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 327 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:54,796 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-02-20 23:37:54,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 169. [2022-02-20 23:37:54,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:54,808 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 169 states, 87 states have (on average 1.6896551724137931) internal successors, (147), 139 states have internal predecessors, (147), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 23:37:54,808 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 169 states, 87 states have (on average 1.6896551724137931) internal successors, (147), 139 states have internal predecessors, (147), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 23:37:54,809 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 169 states, 87 states have (on average 1.6896551724137931) internal successors, (147), 139 states have internal predecessors, (147), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 23:37:54,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:54,821 INFO L93 Difference]: Finished difference Result 169 states and 191 transitions. [2022-02-20 23:37:54,821 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 191 transitions. [2022-02-20 23:37:54,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:54,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:54,826 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 87 states have (on average 1.6896551724137931) internal successors, (147), 139 states have internal predecessors, (147), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 169 states. [2022-02-20 23:37:54,826 INFO L87 Difference]: Start difference. First operand has 169 states, 87 states have (on average 1.6896551724137931) internal successors, (147), 139 states have internal predecessors, (147), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 169 states. [2022-02-20 23:37:54,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:54,839 INFO L93 Difference]: Finished difference Result 169 states and 191 transitions. [2022-02-20 23:37:54,839 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 191 transitions. [2022-02-20 23:37:54,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:54,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:54,840 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:54,840 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:54,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 87 states have (on average 1.6896551724137931) internal successors, (147), 139 states have internal predecessors, (147), 22 states have call successors, (22), 7 states have call predecessors, (22), 7 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 23:37:54,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 191 transitions. [2022-02-20 23:37:54,851 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 191 transitions. Word has length 5 [2022-02-20 23:37:54,852 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:54,852 INFO L470 AbstractCegarLoop]: Abstraction has 169 states and 191 transitions. [2022-02-20 23:37:54,852 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,853 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 191 transitions. [2022-02-20 23:37:54,853 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:37:54,853 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:54,853 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:54,874 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:55,060 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:55,061 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting minErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:37:55,061 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:55,062 INFO L85 PathProgramCache]: Analyzing trace with hash 854953177, now seen corresponding path program 1 times [2022-02-20 23:37:55,062 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:55,062 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1417888889] [2022-02-20 23:37:55,062 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:55,063 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:55,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:55,064 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:55,066 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:55,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:55,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:37:55,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:55,132 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:55,217 INFO L290 TraceCheckUtils]: 0: Hoare triple {1576#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1576#true} is VALID [2022-02-20 23:37:55,218 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {1576#true} is VALID [2022-02-20 23:37:55,218 INFO L272 TraceCheckUtils]: 2: Hoare triple {1576#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {1576#true} is VALID [2022-02-20 23:37:55,218 INFO L290 TraceCheckUtils]: 3: Hoare triple {1576#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1590#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:55,219 INFO L290 TraceCheckUtils]: 4: Hoare triple {1590#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {1590#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:55,220 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1590#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {1576#true} #237#return; {1597#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:55,220 INFO L290 TraceCheckUtils]: 6: Hoare triple {1597#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {1601#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:55,221 INFO L272 TraceCheckUtils]: 7: Hoare triple {1601#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {1605#(and (= |min_#in~n.base| (_ bv0 32)) (= |min_#in~n.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:55,221 INFO L290 TraceCheckUtils]: 8: Hoare triple {1605#(and (= |min_#in~n.base| (_ bv0 32)) (= |min_#in~n.offset| (_ bv0 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1609#(and (= min_~n.base (_ bv0 32)) (= min_~n.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:55,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {1609#(and (= min_~n.base (_ bv0 32)) (= min_~n.offset (_ bv0 32)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {1577#false} is VALID [2022-02-20 23:37:55,222 INFO L290 TraceCheckUtils]: 10: Hoare triple {1577#false} assume !(1bv1 == #valid[~n.base]); {1577#false} is VALID [2022-02-20 23:37:55,222 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:55,222 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:55,222 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:55,222 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1417888889] [2022-02-20 23:37:55,223 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1417888889] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:55,223 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:55,223 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:37:55,223 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1522970094] [2022-02-20 23:37:55,223 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:55,224 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:55,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:55,228 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:55,236 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:55,236 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:37:55,237 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:55,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:37:55,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:37:55,237 INFO L87 Difference]: Start difference. First operand 169 states and 191 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,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:56,714 INFO L93 Difference]: Finished difference Result 233 states and 270 transitions. [2022-02-20 23:37:56,714 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:37:56,715 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,715 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:56,715 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,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 271 transitions. [2022-02-20 23:37:56,718 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,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 271 transitions. [2022-02-20 23:37:56,721 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 271 transitions. [2022-02-20 23:37:56,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 271 edges. 271 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:56,994 INFO L225 Difference]: With dead ends: 233 [2022-02-20 23:37:56,994 INFO L226 Difference]: Without dead ends: 233 [2022-02-20 23:37:56,994 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,995 INFO L933 BasicCegarLoop]: 199 mSDtfsCounter, 91 mSDsluCounter, 957 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 91 SdHoareTripleChecker+Valid, 1156 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:56,995 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [91 Valid, 1156 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:56,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 233 states. [2022-02-20 23:37:57,013 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 233 to 177. [2022-02-20 23:37:57,014 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:57,014 INFO L82 GeneralOperation]: Start isEquivalent. First operand 233 states. Second operand has 177 states, 92 states have (on average 1.6521739130434783) internal successors, (152), 145 states have internal predecessors, (152), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-02-20 23:37:57,015 INFO L74 IsIncluded]: Start isIncluded. First operand 233 states. Second operand has 177 states, 92 states have (on average 1.6521739130434783) internal successors, (152), 145 states have internal predecessors, (152), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-02-20 23:37:57,015 INFO L87 Difference]: Start difference. First operand 233 states. Second operand has 177 states, 92 states have (on average 1.6521739130434783) internal successors, (152), 145 states have internal predecessors, (152), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-02-20 23:37:57,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:57,021 INFO L93 Difference]: Finished difference Result 233 states and 270 transitions. [2022-02-20 23:37:57,022 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 270 transitions. [2022-02-20 23:37:57,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:57,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:57,023 INFO L74 IsIncluded]: Start isIncluded. First operand has 177 states, 92 states have (on average 1.6521739130434783) internal successors, (152), 145 states have internal predecessors, (152), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) Second operand 233 states. [2022-02-20 23:37:57,024 INFO L87 Difference]: Start difference. First operand has 177 states, 92 states have (on average 1.6521739130434783) internal successors, (152), 145 states have internal predecessors, (152), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) Second operand 233 states. [2022-02-20 23:37:57,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:57,043 INFO L93 Difference]: Finished difference Result 233 states and 270 transitions. [2022-02-20 23:37:57,043 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 270 transitions. [2022-02-20 23:37:57,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:57,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:57,045 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:57,045 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:57,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 177 states, 92 states have (on average 1.6521739130434783) internal successors, (152), 145 states have internal predecessors, (152), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-02-20 23:37:57,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 177 states to 177 states and 201 transitions. [2022-02-20 23:37:57,049 INFO L78 Accepts]: Start accepts. Automaton has 177 states and 201 transitions. Word has length 11 [2022-02-20 23:37:57,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:57,049 INFO L470 AbstractCegarLoop]: Abstraction has 177 states and 201 transitions. [2022-02-20 23:37:57,050 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:57,050 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 201 transitions. [2022-02-20 23:37:57,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:37:57,050 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:57,050 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:57,058 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:57,256 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:57,256 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting nondet_treeErr2REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:37:57,257 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:57,257 INFO L85 PathProgramCache]: Analyzing trace with hash 873486780, now seen corresponding path program 1 times [2022-02-20 23:37:57,257 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:57,257 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1647481575] [2022-02-20 23:37:57,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:57,257 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:57,258 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:57,258 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:57,259 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:57,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:57,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:37:57,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:57,318 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:57,330 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:57,370 INFO L290 TraceCheckUtils]: 0: Hoare triple {2495#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2495#true} is VALID [2022-02-20 23:37:57,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {2495#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {2495#true} is VALID [2022-02-20 23:37:57,370 INFO L272 TraceCheckUtils]: 2: Hoare triple {2495#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {2495#true} is VALID [2022-02-20 23:37:57,372 INFO L290 TraceCheckUtils]: 3: Hoare triple {2495#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; {2509#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:57,372 INFO L290 TraceCheckUtils]: 4: Hoare triple {2509#(= (_ 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 {2509#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:57,372 INFO L290 TraceCheckUtils]: 5: Hoare triple {2509#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {2509#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:57,373 INFO L272 TraceCheckUtils]: 6: Hoare triple {2509#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2519#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:57,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {2519#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2519#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:57,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {2519#(= |old(#valid)| |#valid|)} assume true; {2519#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:57,375 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2519#(= |old(#valid)| |#valid|)} {2509#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #223#return; {2509#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:57,375 INFO L290 TraceCheckUtils]: 10: Hoare triple {2509#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {2496#false} is VALID [2022-02-20 23:37:57,375 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:57,376 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:57,376 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:57,376 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1647481575] [2022-02-20 23:37:57,376 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1647481575] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:57,376 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:57,376 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:57,376 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [928290128] [2022-02-20 23:37:57,376 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:57,377 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,377 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:57,377 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:57,386 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:57,386 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:37:57,386 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:57,387 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:37:57,387 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:57,387 INFO L87 Difference]: Start difference. First operand 177 states and 201 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:58,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:58,401 INFO L93 Difference]: Finished difference Result 181 states and 205 transitions. [2022-02-20 23:37:58,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:37:58,401 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,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:58,401 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:58,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 201 transitions. [2022-02-20 23:37:58,405 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:58,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 201 transitions. [2022-02-20 23:37:58,407 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 201 transitions. [2022-02-20 23:37:58,559 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 201 edges. 201 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:58,561 INFO L225 Difference]: With dead ends: 181 [2022-02-20 23:37:58,561 INFO L226 Difference]: Without dead ends: 181 [2022-02-20 23:37:58,561 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,562 INFO L933 BasicCegarLoop]: 150 mSDtfsCounter, 89 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 95 SdHoareTripleChecker+Valid, 247 SdHoareTripleChecker+Invalid, 241 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:58,562 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [95 Valid, 247 Invalid, 241 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 216 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:37:58,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 181 states. [2022-02-20 23:37:58,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 181 to 179. [2022-02-20 23:37:58,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:58,575 INFO L82 GeneralOperation]: Start isEquivalent. First operand 181 states. Second operand has 179 states, 94 states have (on average 1.6595744680851063) internal successors, (156), 145 states have internal predecessors, (156), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 25 states have call predecessors, (26), 23 states have call successors, (26) [2022-02-20 23:37:58,576 INFO L74 IsIncluded]: Start isIncluded. First operand 181 states. Second operand has 179 states, 94 states have (on average 1.6595744680851063) internal successors, (156), 145 states have internal predecessors, (156), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 25 states have call predecessors, (26), 23 states have call successors, (26) [2022-02-20 23:37:58,578 INFO L87 Difference]: Start difference. First operand 181 states. Second operand has 179 states, 94 states have (on average 1.6595744680851063) internal successors, (156), 145 states have internal predecessors, (156), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 25 states have call predecessors, (26), 23 states have call successors, (26) [2022-02-20 23:37:58,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:58,584 INFO L93 Difference]: Finished difference Result 181 states and 205 transitions. [2022-02-20 23:37:58,584 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 205 transitions. [2022-02-20 23:37:58,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:58,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:58,588 INFO L74 IsIncluded]: Start isIncluded. First operand has 179 states, 94 states have (on average 1.6595744680851063) internal successors, (156), 145 states have internal predecessors, (156), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 25 states have call predecessors, (26), 23 states have call successors, (26) Second operand 181 states. [2022-02-20 23:37:58,588 INFO L87 Difference]: Start difference. First operand has 179 states, 94 states have (on average 1.6595744680851063) internal successors, (156), 145 states have internal predecessors, (156), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 25 states have call predecessors, (26), 23 states have call successors, (26) Second operand 181 states. [2022-02-20 23:37:58,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:58,594 INFO L93 Difference]: Finished difference Result 181 states and 205 transitions. [2022-02-20 23:37:58,594 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 205 transitions. [2022-02-20 23:37:58,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:58,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:58,595 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:58,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:58,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 179 states, 94 states have (on average 1.6595744680851063) internal successors, (156), 145 states have internal predecessors, (156), 23 states have call successors, (23), 8 states have call predecessors, (23), 9 states have return successors, (26), 25 states have call predecessors, (26), 23 states have call successors, (26) [2022-02-20 23:37:58,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 179 states to 179 states and 205 transitions. [2022-02-20 23:37:58,601 INFO L78 Accepts]: Start accepts. Automaton has 179 states and 205 transitions. Word has length 11 [2022-02-20 23:37:58,601 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:58,601 INFO L470 AbstractCegarLoop]: Abstraction has 179 states and 205 transitions. [2022-02-20 23:37:58,602 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,602 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 205 transitions. [2022-02-20 23:37:58,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:37:58,602 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:58,602 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:58,613 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:58,809 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,809 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting nondet_treeErr3REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:37:58,810 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:58,810 INFO L85 PathProgramCache]: Analyzing trace with hash 873486781, now seen corresponding path program 1 times [2022-02-20 23:37:58,810 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:58,810 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2085297548] [2022-02-20 23:37:58,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:58,810 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:58,811 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:58,812 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,813 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,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:58,907 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:37:58,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:58,913 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:58,926 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:58,990 INFO L290 TraceCheckUtils]: 0: Hoare triple {3253#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3253#true} is VALID [2022-02-20 23:37:58,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {3253#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {3253#true} is VALID [2022-02-20 23:37:58,990 INFO L272 TraceCheckUtils]: 2: Hoare triple {3253#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {3253#true} is VALID [2022-02-20 23:37:58,991 INFO L290 TraceCheckUtils]: 3: Hoare triple {3253#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; {3267#(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,992 INFO L290 TraceCheckUtils]: 4: Hoare triple {3267#(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 {3267#(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,992 INFO L290 TraceCheckUtils]: 5: Hoare triple {3267#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~nondet7; {3267#(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,993 INFO L272 TraceCheckUtils]: 6: Hoare triple {3267#(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(); {3277#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:37:58,993 INFO L290 TraceCheckUtils]: 7: Hoare triple {3277#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {3277#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:37:58,993 INFO L290 TraceCheckUtils]: 8: Hoare triple {3277#(= |#length| |old(#length)|)} assume true; {3277#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:37:58,994 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3277#(= |#length| |old(#length)|)} {3267#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #223#return; {3267#(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,995 INFO L290 TraceCheckUtils]: 10: Hoare triple {3267#(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))); {3254#false} is VALID [2022-02-20 23:37:58,995 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,995 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:58,996 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:58,996 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2085297548] [2022-02-20 23:37:58,996 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2085297548] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:58,996 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:58,996 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:58,996 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [388651217] [2022-02-20 23:37:58,996 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:58,997 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,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:58,997 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:59,008 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:59,008 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:37:59,008 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:59,008 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:37:59,008 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:59,009 INFO L87 Difference]: Start difference. First operand 179 states and 205 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:38:00,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:00,134 INFO L93 Difference]: Finished difference Result 185 states and 215 transitions. [2022-02-20 23:38:00,134 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:38:00,134 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:38:00,135 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:00,135 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:38:00,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 209 transitions. [2022-02-20 23:38:00,137 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:38:00,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 209 transitions. [2022-02-20 23:38:00,139 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 209 transitions. [2022-02-20 23:38:00,343 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:00,345 INFO L225 Difference]: With dead ends: 185 [2022-02-20 23:38:00,345 INFO L226 Difference]: Without dead ends: 185 [2022-02-20 23:38:00,346 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:38:00,346 INFO L933 BasicCegarLoop]: 153 mSDtfsCounter, 93 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 100 SdHoareTripleChecker+Valid, 242 SdHoareTripleChecker+Invalid, 248 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:00,346 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [100 Valid, 242 Invalid, 248 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 224 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:38:00,347 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-02-20 23:38:00,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 182. [2022-02-20 23:38:00,351 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:00,351 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 182 states, 96 states have (on average 1.6354166666666667) internal successors, (157), 147 states have internal predecessors, (157), 24 states have call successors, (24), 8 states have call predecessors, (24), 9 states have return successors, (28), 26 states have call predecessors, (28), 24 states have call successors, (28) [2022-02-20 23:38:00,352 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 182 states, 96 states have (on average 1.6354166666666667) internal successors, (157), 147 states have internal predecessors, (157), 24 states have call successors, (24), 8 states have call predecessors, (24), 9 states have return successors, (28), 26 states have call predecessors, (28), 24 states have call successors, (28) [2022-02-20 23:38:00,352 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 182 states, 96 states have (on average 1.6354166666666667) internal successors, (157), 147 states have internal predecessors, (157), 24 states have call successors, (24), 8 states have call predecessors, (24), 9 states have return successors, (28), 26 states have call predecessors, (28), 24 states have call successors, (28) [2022-02-20 23:38:00,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:00,356 INFO L93 Difference]: Finished difference Result 185 states and 215 transitions. [2022-02-20 23:38:00,356 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 215 transitions. [2022-02-20 23:38:00,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:00,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:00,357 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 96 states have (on average 1.6354166666666667) internal successors, (157), 147 states have internal predecessors, (157), 24 states have call successors, (24), 8 states have call predecessors, (24), 9 states have return successors, (28), 26 states have call predecessors, (28), 24 states have call successors, (28) Second operand 185 states. [2022-02-20 23:38:00,358 INFO L87 Difference]: Start difference. First operand has 182 states, 96 states have (on average 1.6354166666666667) internal successors, (157), 147 states have internal predecessors, (157), 24 states have call successors, (24), 8 states have call predecessors, (24), 9 states have return successors, (28), 26 states have call predecessors, (28), 24 states have call successors, (28) Second operand 185 states. [2022-02-20 23:38:00,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:00,372 INFO L93 Difference]: Finished difference Result 185 states and 215 transitions. [2022-02-20 23:38:00,372 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 215 transitions. [2022-02-20 23:38:00,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:00,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:00,373 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:00,373 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:00,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 96 states have (on average 1.6354166666666667) internal successors, (157), 147 states have internal predecessors, (157), 24 states have call successors, (24), 8 states have call predecessors, (24), 9 states have return successors, (28), 26 states have call predecessors, (28), 24 states have call successors, (28) [2022-02-20 23:38:00,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 209 transitions. [2022-02-20 23:38:00,377 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 209 transitions. Word has length 11 [2022-02-20 23:38:00,377 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:00,377 INFO L470 AbstractCegarLoop]: Abstraction has 182 states and 209 transitions. [2022-02-20 23:38:00,377 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:38:00,378 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-02-20 23:38:00,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:38:00,378 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:00,378 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:38:00,387 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,586 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,587 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting sizeErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:38:00,588 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:00,588 INFO L85 PathProgramCache]: Analyzing trace with hash -1280810199, now seen corresponding path program 1 times [2022-02-20 23:38:00,588 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:00,588 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [451025004] [2022-02-20 23:38:00,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:00,588 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:00,588 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:00,592 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,593 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,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:00,636 INFO L263 TraceCheckSpWp]: Trace formula consists of 64 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:38:00,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:00,642 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:00,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {4026#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4026#true} is VALID [2022-02-20 23:38:00,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {4026#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {4026#true} is VALID [2022-02-20 23:38:00,742 INFO L272 TraceCheckUtils]: 2: Hoare triple {4026#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {4026#true} is VALID [2022-02-20 23:38:00,743 INFO L290 TraceCheckUtils]: 3: Hoare triple {4026#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {4040#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,743 INFO L290 TraceCheckUtils]: 4: Hoare triple {4040#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {4040#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,744 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4040#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {4026#true} #237#return; {4047#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {4047#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {4051#(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,744 INFO L272 TraceCheckUtils]: 7: Hoare triple {4051#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {4026#true} is VALID [2022-02-20 23:38:00,744 INFO L290 TraceCheckUtils]: 8: Hoare triple {4026#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {4026#true} is VALID [2022-02-20 23:38:00,744 INFO L290 TraceCheckUtils]: 9: Hoare triple {4026#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {4026#true} is VALID [2022-02-20 23:38:00,744 INFO L290 TraceCheckUtils]: 10: Hoare triple {4026#true} assume true; {4026#true} is VALID [2022-02-20 23:38:00,751 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4026#true} {4051#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #239#return; {4051#(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,753 INFO L290 TraceCheckUtils]: 12: Hoare triple {4051#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {4051#(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,753 INFO L272 TraceCheckUtils]: 13: Hoare triple {4051#(and (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|) (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {4073#(and (= |size_#in~t.offset| (_ bv0 32)) (= |size_#in~t.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:00,754 INFO L290 TraceCheckUtils]: 14: Hoare triple {4073#(and (= |size_#in~t.offset| (_ bv0 32)) (= |size_#in~t.base| (_ bv0 32)))} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {4077#(and (= size_~t.offset (_ bv0 32)) (= (_ bv0 32) size_~t.base))} is VALID [2022-02-20 23:38:00,754 INFO L290 TraceCheckUtils]: 15: Hoare triple {4077#(and (= size_~t.offset (_ bv0 32)) (= (_ bv0 32) size_~t.base))} assume !(~t.base == 0bv32 && ~t.offset == 0bv32); {4027#false} is VALID [2022-02-20 23:38:00,754 INFO L290 TraceCheckUtils]: 16: Hoare triple {4027#false} assume !(1bv1 == #valid[~t.base]); {4027#false} is VALID [2022-02-20 23:38:00,754 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,754 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:00,755 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:00,755 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [451025004] [2022-02-20 23:38:00,755 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [451025004] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:00,755 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:00,755 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:38:00,755 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1865910126] [2022-02-20 23:38:00,755 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:00,755 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,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:00,756 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,765 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,765 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:38:00,766 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:00,766 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:38:00,766 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:00,766 INFO L87 Difference]: Start difference. First operand 182 states and 209 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:02,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,314 INFO L93 Difference]: Finished difference Result 242 states and 282 transitions. [2022-02-20 23:38:02,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:38:02,314 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:02,314 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:02,314 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:02,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 272 transitions. [2022-02-20 23:38:02,317 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:02,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 272 transitions. [2022-02-20 23:38:02,320 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 272 transitions. [2022-02-20 23:38:02,568 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:02,572 INFO L225 Difference]: With dead ends: 242 [2022-02-20 23:38:02,572 INFO L226 Difference]: Without dead ends: 242 [2022-02-20 23:38:02,573 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,575 INFO L933 BasicCegarLoop]: 198 mSDtfsCounter, 90 mSDsluCounter, 956 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 1154 SdHoareTripleChecker+Invalid, 63 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:02,575 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 1154 Invalid, 63 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:38:02,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 242 states. [2022-02-20 23:38:02,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 242 to 204. [2022-02-20 23:38:02,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:02,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 242 states. Second operand has 204 states, 110 states have (on average 1.5909090909090908) internal successors, (175), 161 states have internal predecessors, (175), 31 states have call successors, (31), 9 states have call predecessors, (31), 10 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-02-20 23:38:02,587 INFO L74 IsIncluded]: Start isIncluded. First operand 242 states. Second operand has 204 states, 110 states have (on average 1.5909090909090908) internal successors, (175), 161 states have internal predecessors, (175), 31 states have call successors, (31), 9 states have call predecessors, (31), 10 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-02-20 23:38:02,587 INFO L87 Difference]: Start difference. First operand 242 states. Second operand has 204 states, 110 states have (on average 1.5909090909090908) internal successors, (175), 161 states have internal predecessors, (175), 31 states have call successors, (31), 9 states have call predecessors, (31), 10 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-02-20 23:38:02,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,609 INFO L93 Difference]: Finished difference Result 242 states and 282 transitions. [2022-02-20 23:38:02,610 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 282 transitions. [2022-02-20 23:38:02,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:02,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:02,612 INFO L74 IsIncluded]: Start isIncluded. First operand has 204 states, 110 states have (on average 1.5909090909090908) internal successors, (175), 161 states have internal predecessors, (175), 31 states have call successors, (31), 9 states have call predecessors, (31), 10 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) Second operand 242 states. [2022-02-20 23:38:02,612 INFO L87 Difference]: Start difference. First operand has 204 states, 110 states have (on average 1.5909090909090908) internal successors, (175), 161 states have internal predecessors, (175), 31 states have call successors, (31), 9 states have call predecessors, (31), 10 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) Second operand 242 states. [2022-02-20 23:38:02,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,619 INFO L93 Difference]: Finished difference Result 242 states and 282 transitions. [2022-02-20 23:38:02,619 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 282 transitions. [2022-02-20 23:38:02,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:02,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:02,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:02,621 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:02,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 204 states, 110 states have (on average 1.5909090909090908) internal successors, (175), 161 states have internal predecessors, (175), 31 states have call successors, (31), 9 states have call predecessors, (31), 10 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-02-20 23:38:02,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 204 states to 204 states and 241 transitions. [2022-02-20 23:38:02,627 INFO L78 Accepts]: Start accepts. Automaton has 204 states and 241 transitions. Word has length 17 [2022-02-20 23:38:02,627 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:02,627 INFO L470 AbstractCegarLoop]: Abstraction has 204 states and 241 transitions. [2022-02-20 23:38:02,627 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,627 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 241 transitions. [2022-02-20 23:38:02,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:38:02,628 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:02,628 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,637 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Ended with exit code 0 [2022-02-20 23:38:02,835 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,835 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting nondet_treeErr2REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:38:02,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:02,836 INFO L85 PathProgramCache]: Analyzing trace with hash -1539264760, now seen corresponding path program 1 times [2022-02-20 23:38:02,836 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:02,836 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1529624631] [2022-02-20 23:38:02,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:02,837 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:02,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:02,851 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,891 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:03,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:03,055 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:38:03,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:03,077 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:03,095 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:03,357 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:38:03,357 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:03,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {5017#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {5017#true} is VALID [2022-02-20 23:38:03,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {5017#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {5017#true} is VALID [2022-02-20 23:38:03,382 INFO L272 TraceCheckUtils]: 2: Hoare triple {5017#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {5017#true} is VALID [2022-02-20 23:38:03,382 INFO L290 TraceCheckUtils]: 3: Hoare triple {5017#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; {5017#true} is VALID [2022-02-20 23:38:03,382 INFO L290 TraceCheckUtils]: 4: Hoare triple {5017#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {5017#true} is VALID [2022-02-20 23:38:03,382 INFO L290 TraceCheckUtils]: 5: Hoare triple {5017#true} havoc #t~nondet7; {5017#true} is VALID [2022-02-20 23:38:03,382 INFO L272 TraceCheckUtils]: 6: Hoare triple {5017#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5017#true} is VALID [2022-02-20 23:38:03,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {5017#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; {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:03,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {5043#(= (_ 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 {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:03,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:03,384 INFO L272 TraceCheckUtils]: 10: Hoare triple {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {5053#(= |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; {5057#(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:03,388 INFO L290 TraceCheckUtils]: 12: Hoare triple {5057#(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 {5057#(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:03,388 INFO L290 TraceCheckUtils]: 13: Hoare triple {5057#(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; {5057#(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:03,391 INFO L272 TraceCheckUtils]: 14: Hoare triple {5057#(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(); {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,392 INFO L290 TraceCheckUtils]: 15: Hoare triple {5053#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,392 INFO L290 TraceCheckUtils]: 16: Hoare triple {5053#(= |old(#valid)| |#valid|)} assume true; {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,393 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5053#(= |old(#valid)| |#valid|)} {5057#(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))))} #223#return; {5057#(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:03,395 INFO L290 TraceCheckUtils]: 18: Hoare triple {5057#(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 {5057#(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:03,396 INFO L290 TraceCheckUtils]: 19: Hoare triple {5057#(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; {5057#(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:03,396 INFO L272 TraceCheckUtils]: 20: Hoare triple {5057#(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(); {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,396 INFO L290 TraceCheckUtils]: 21: Hoare triple {5053#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,397 INFO L290 TraceCheckUtils]: 22: Hoare triple {5053#(= |old(#valid)| |#valid|)} assume true; {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,398 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5053#(= |old(#valid)| |#valid|)} {5057#(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))))} #225#return; {5057#(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:03,399 INFO L290 TraceCheckUtils]: 24: Hoare triple {5057#(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 {5057#(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:03,400 INFO L290 TraceCheckUtils]: 25: Hoare triple {5057#(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; {5057#(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:03,401 INFO L290 TraceCheckUtils]: 26: Hoare triple {5057#(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; {5057#(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:03,402 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5057#(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))))} {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #223#return; {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:03,403 INFO L290 TraceCheckUtils]: 28: Hoare triple {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {5018#false} is VALID [2022-02-20 23:38:03,403 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:03,403 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:03,586 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:03,586 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1529624631] [2022-02-20 23:38:03,586 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1529624631] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:03,586 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [882797952] [2022-02-20 23:38:03,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:03,586 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:03,586 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:38:03,608 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,621 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,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:03,752 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:38:03,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:03,766 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:03,784 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:05,910 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:38:05,910 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,916 INFO L290 TraceCheckUtils]: 0: Hoare triple {5017#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {5017#true} is VALID [2022-02-20 23:38:05,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {5017#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {5017#true} is VALID [2022-02-20 23:38:05,917 INFO L272 TraceCheckUtils]: 2: Hoare triple {5017#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {5017#true} is VALID [2022-02-20 23:38:05,917 INFO L290 TraceCheckUtils]: 3: Hoare triple {5017#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; {5017#true} is VALID [2022-02-20 23:38:05,917 INFO L290 TraceCheckUtils]: 4: Hoare triple {5017#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {5017#true} is VALID [2022-02-20 23:38:05,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {5017#true} havoc #t~nondet7; {5017#true} is VALID [2022-02-20 23:38:05,917 INFO L272 TraceCheckUtils]: 6: Hoare triple {5017#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5017#true} is VALID [2022-02-20 23:38:05,918 INFO L290 TraceCheckUtils]: 7: Hoare triple {5017#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; {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:05,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {5043#(= (_ 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 {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:05,919 INFO L290 TraceCheckUtils]: 9: Hoare triple {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:05,919 INFO L272 TraceCheckUtils]: 10: Hoare triple {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,920 INFO L290 TraceCheckUtils]: 11: Hoare triple {5053#(= |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; {5164#(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,921 INFO L290 TraceCheckUtils]: 12: Hoare triple {5164#(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 {5164#(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,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {5164#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} havoc #t~nondet7; {5164#(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,921 INFO L272 TraceCheckUtils]: 14: Hoare triple {5164#(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(); {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,922 INFO L290 TraceCheckUtils]: 15: Hoare triple {5053#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,922 INFO L290 TraceCheckUtils]: 16: Hoare triple {5053#(= |old(#valid)| |#valid|)} assume true; {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,923 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5053#(= |old(#valid)| |#valid|)} {5164#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} #223#return; {5164#(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,923 INFO L290 TraceCheckUtils]: 18: Hoare triple {5164#(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 {5164#(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,924 INFO L290 TraceCheckUtils]: 19: Hoare triple {5164#(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; {5164#(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,924 INFO L272 TraceCheckUtils]: 20: Hoare triple {5164#(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(); {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,925 INFO L290 TraceCheckUtils]: 21: Hoare triple {5053#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,925 INFO L290 TraceCheckUtils]: 22: Hoare triple {5053#(= |old(#valid)| |#valid|)} assume true; {5053#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:05,926 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5053#(= |old(#valid)| |#valid|)} {5164#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} #225#return; {5164#(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,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {5164#(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 {5164#(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,930 INFO L290 TraceCheckUtils]: 25: Hoare triple {5164#(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; {5164#(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,930 INFO L290 TraceCheckUtils]: 26: Hoare triple {5164#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} assume true; {5164#(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,932 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5164#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #223#return; {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:05,932 INFO L290 TraceCheckUtils]: 28: Hoare triple {5043#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {5018#false} is VALID [2022-02-20 23:38:05,932 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,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:06,060 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [882797952] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:06,060 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:06,060 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-02-20 23:38:06,060 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1715708449] [2022-02-20 23:38:06,060 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:06,061 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:06,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:06,061 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:06,103 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:06,103 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:38:06,104 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:06,104 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:38:06,104 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=27, Unknown=1, NotChecked=0, Total=42 [2022-02-20 23:38:06,104 INFO L87 Difference]: Start difference. First operand 204 states and 241 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,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:13,230 INFO L93 Difference]: Finished difference Result 213 states and 256 transitions. [2022-02-20 23:38:13,230 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:38:13,231 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,231 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:13,231 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,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 217 transitions. [2022-02-20 23:38:13,243 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,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 217 transitions. [2022-02-20 23:38:13,244 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 217 transitions. [2022-02-20 23:38:13,453 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:38:13,455 INFO L225 Difference]: With dead ends: 213 [2022-02-20 23:38:13,456 INFO L226 Difference]: Without dead ends: 213 [2022-02-20 23:38:13,456 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,456 INFO L933 BasicCegarLoop]: 154 mSDtfsCounter, 86 mSDsluCounter, 210 mSDsCounter, 0 mSdLazyCounter, 204 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 92 SdHoareTripleChecker+Valid, 364 SdHoareTripleChecker+Invalid, 524 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 204 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 297 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:13,456 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [92 Valid, 364 Invalid, 524 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 204 Invalid, 0 Unknown, 297 Unchecked, 0.3s Time] [2022-02-20 23:38:13,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 213 states. [2022-02-20 23:38:13,460 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 213 to 208. [2022-02-20 23:38:13,460 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:13,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 213 states. Second operand has 208 states, 113 states have (on average 1.584070796460177) internal successors, (179), 164 states have internal predecessors, (179), 31 states have call successors, (31), 9 states have call predecessors, (31), 11 states have return successors, (39), 34 states have call predecessors, (39), 31 states have call successors, (39) [2022-02-20 23:38:13,463 INFO L74 IsIncluded]: Start isIncluded. First operand 213 states. Second operand has 208 states, 113 states have (on average 1.584070796460177) internal successors, (179), 164 states have internal predecessors, (179), 31 states have call successors, (31), 9 states have call predecessors, (31), 11 states have return successors, (39), 34 states have call predecessors, (39), 31 states have call successors, (39) [2022-02-20 23:38:13,463 INFO L87 Difference]: Start difference. First operand 213 states. Second operand has 208 states, 113 states have (on average 1.584070796460177) internal successors, (179), 164 states have internal predecessors, (179), 31 states have call successors, (31), 9 states have call predecessors, (31), 11 states have return successors, (39), 34 states have call predecessors, (39), 31 states have call successors, (39) [2022-02-20 23:38:13,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:13,467 INFO L93 Difference]: Finished difference Result 213 states and 256 transitions. [2022-02-20 23:38:13,468 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 256 transitions. [2022-02-20 23:38:13,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:13,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:13,469 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 113 states have (on average 1.584070796460177) internal successors, (179), 164 states have internal predecessors, (179), 31 states have call successors, (31), 9 states have call predecessors, (31), 11 states have return successors, (39), 34 states have call predecessors, (39), 31 states have call successors, (39) Second operand 213 states. [2022-02-20 23:38:13,469 INFO L87 Difference]: Start difference. First operand has 208 states, 113 states have (on average 1.584070796460177) internal successors, (179), 164 states have internal predecessors, (179), 31 states have call successors, (31), 9 states have call predecessors, (31), 11 states have return successors, (39), 34 states have call predecessors, (39), 31 states have call successors, (39) Second operand 213 states. [2022-02-20 23:38:13,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:13,485 INFO L93 Difference]: Finished difference Result 213 states and 256 transitions. [2022-02-20 23:38:13,485 INFO L276 IsEmpty]: Start isEmpty. Operand 213 states and 256 transitions. [2022-02-20 23:38:13,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:13,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:13,486 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:13,486 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:13,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 113 states have (on average 1.584070796460177) internal successors, (179), 164 states have internal predecessors, (179), 31 states have call successors, (31), 9 states have call predecessors, (31), 11 states have return successors, (39), 34 states have call predecessors, (39), 31 states have call successors, (39) [2022-02-20 23:38:13,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 249 transitions. [2022-02-20 23:38:13,503 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 249 transitions. Word has length 29 [2022-02-20 23:38:13,505 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:13,505 INFO L470 AbstractCegarLoop]: Abstraction has 208 states and 249 transitions. [2022-02-20 23:38:13,506 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,506 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 249 transitions. [2022-02-20 23:38:13,506 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:38:13,506 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:13,507 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:13,519 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,718 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,917 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,918 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting nondet_treeErr3REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:38:13,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:13,918 INFO L85 PathProgramCache]: Analyzing trace with hash 1070284721, now seen corresponding path program 1 times [2022-02-20 23:38:13,919 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:13,919 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [346978674] [2022-02-20 23:38:13,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:13,919 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:13,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:13,920 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,922 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:14,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:14,029 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:38:14,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:14,040 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:14,063 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:14,068 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,402 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:20,403 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,412 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:20,412 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,432 INFO L290 TraceCheckUtils]: 0: Hoare triple {6087#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {6087#true} is VALID [2022-02-20 23:38:20,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {6087#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {6087#true} is VALID [2022-02-20 23:38:20,433 INFO L272 TraceCheckUtils]: 2: Hoare triple {6087#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {6087#true} is VALID [2022-02-20 23:38:20,443 INFO L290 TraceCheckUtils]: 3: Hoare triple {6087#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; {6101#(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,444 INFO L290 TraceCheckUtils]: 4: Hoare triple {6101#(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 {6101#(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,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {6101#(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; {6101#(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,445 INFO L272 TraceCheckUtils]: 6: Hoare triple {6101#(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(); {6111#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:20,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {6111#(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; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,449 INFO L290 TraceCheckUtils]: 8: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (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 {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~nondet7; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,451 INFO L272 TraceCheckUtils]: 10: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,451 INFO L290 TraceCheckUtils]: 11: Hoare triple {6125#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {6125#(= |#length| |old(#length)|)} assume true; {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,452 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {6125#(= |#length| |old(#length)|)} {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #223#return; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,454 INFO L290 TraceCheckUtils]: 14: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (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 {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,455 INFO L290 TraceCheckUtils]: 15: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~ret8.base, #t~ret8.offset; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,455 INFO L272 TraceCheckUtils]: 16: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,456 INFO L290 TraceCheckUtils]: 17: Hoare triple {6125#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,456 INFO L290 TraceCheckUtils]: 18: Hoare triple {6125#(= |#length| |old(#length)|)} assume true; {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:20,457 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6125#(= |#length| |old(#length)|)} {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #225#return; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (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 {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,460 INFO L290 TraceCheckUtils]: 21: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (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; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,460 INFO L290 TraceCheckUtils]: 22: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} assume true; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:20,462 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} {6101#(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)))} #223#return; {6165#(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,462 INFO L290 TraceCheckUtils]: 24: Hoare triple {6165#(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))); {6088#false} is VALID [2022-02-20 23:38:20,462 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 10 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:38:20,462 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:20,740 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:20,741 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [346978674] [2022-02-20 23:38:20,741 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [346978674] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:20,741 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [993809074] [2022-02-20 23:38:20,741 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:20,741 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:20,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:38:20,742 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:20,751 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:20,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,877 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:38:20,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,888 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:20,903 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,906 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:25,173 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:25,174 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:25,181 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:25,181 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:25,190 INFO L290 TraceCheckUtils]: 0: Hoare triple {6087#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {6087#true} is VALID [2022-02-20 23:38:25,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {6087#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {6087#true} is VALID [2022-02-20 23:38:25,190 INFO L272 TraceCheckUtils]: 2: Hoare triple {6087#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {6087#true} is VALID [2022-02-20 23:38:25,191 INFO L290 TraceCheckUtils]: 3: Hoare triple {6087#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; {6101#(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:25,192 INFO L290 TraceCheckUtils]: 4: Hoare triple {6101#(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 {6101#(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:25,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {6101#(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; {6101#(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:25,193 INFO L272 TraceCheckUtils]: 6: Hoare triple {6101#(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(); {6111#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:25,194 INFO L290 TraceCheckUtils]: 7: Hoare triple {6111#(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; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,197 INFO L290 TraceCheckUtils]: 8: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (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 {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~nondet7; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,198 INFO L272 TraceCheckUtils]: 10: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:25,199 INFO L290 TraceCheckUtils]: 11: Hoare triple {6125#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:25,199 INFO L290 TraceCheckUtils]: 12: Hoare triple {6125#(= |#length| |old(#length)|)} assume true; {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:25,200 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {6125#(= |#length| |old(#length)|)} {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #223#return; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,201 INFO L290 TraceCheckUtils]: 14: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (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 {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~ret8.base, #t~ret8.offset; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,203 INFO L272 TraceCheckUtils]: 16: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:25,203 INFO L290 TraceCheckUtils]: 17: Hoare triple {6125#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:25,203 INFO L290 TraceCheckUtils]: 18: Hoare triple {6125#(= |#length| |old(#length)|)} assume true; {6125#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:25,204 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6125#(= |#length| |old(#length)|)} {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #225#return; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,206 INFO L290 TraceCheckUtils]: 20: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (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 {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,206 INFO L290 TraceCheckUtils]: 21: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (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; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,207 INFO L290 TraceCheckUtils]: 22: Hoare triple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} assume true; {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:25,208 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6115#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_227 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_227))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} {6101#(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)))} #223#return; {6165#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:25,209 INFO L290 TraceCheckUtils]: 24: Hoare triple {6165#(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))); {6088#false} is VALID [2022-02-20 23:38:25,209 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 10 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:38:25,209 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:25,388 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [993809074] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:25,388 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:25,388 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2022-02-20 23:38:25,389 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [977093854] [2022-02-20 23:38:25,389 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:25,389 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 25 [2022-02-20 23:38:25,389 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:25,389 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:25,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:25,417 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:38:25,417 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:25,417 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:38:25,417 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=51, Unknown=1, NotChecked=0, Total=72 [2022-02-20 23:38:25,417 INFO L87 Difference]: Start difference. First operand 208 states and 249 transitions. Second operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:28,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:28,793 INFO L93 Difference]: Finished difference Result 227 states and 281 transitions. [2022-02-20 23:38:28,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:38:28,793 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 25 [2022-02-20 23:38:28,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:28,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:28,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 233 transitions. [2022-02-20 23:38:28,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:28,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 233 transitions. [2022-02-20 23:38:28,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 233 transitions. [2022-02-20 23:38:29,030 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 233 edges. 233 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:29,033 INFO L225 Difference]: With dead ends: 227 [2022-02-20 23:38:29,033 INFO L226 Difference]: Without dead ends: 227 [2022-02-20 23:38:29,033 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 40 SyntacticMatches, 6 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 10.3s TimeCoverageRelationStatistics Valid=27, Invalid=62, Unknown=1, NotChecked=0, Total=90 [2022-02-20 23:38:29,034 INFO L933 BasicCegarLoop]: 144 mSDtfsCounter, 184 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 245 mSolverCounterSat, 61 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 190 SdHoareTripleChecker+Valid, 280 SdHoareTripleChecker+Invalid, 483 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 61 IncrementalHoareTripleChecker+Valid, 245 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 177 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:29,034 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [190 Valid, 280 Invalid, 483 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [61 Valid, 245 Invalid, 0 Unknown, 177 Unchecked, 0.5s Time] [2022-02-20 23:38:29,034 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-02-20 23:38:29,040 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 224. [2022-02-20 23:38:29,040 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:29,046 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 224 states, 124 states have (on average 1.532258064516129) internal successors, (190), 176 states have internal predecessors, (190), 34 states have call successors, (34), 10 states have call predecessors, (34), 13 states have return successors, (48), 37 states have call predecessors, (48), 34 states have call successors, (48) [2022-02-20 23:38:29,047 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 224 states, 124 states have (on average 1.532258064516129) internal successors, (190), 176 states have internal predecessors, (190), 34 states have call successors, (34), 10 states have call predecessors, (34), 13 states have return successors, (48), 37 states have call predecessors, (48), 34 states have call successors, (48) [2022-02-20 23:38:29,049 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 224 states, 124 states have (on average 1.532258064516129) internal successors, (190), 176 states have internal predecessors, (190), 34 states have call successors, (34), 10 states have call predecessors, (34), 13 states have return successors, (48), 37 states have call predecessors, (48), 34 states have call successors, (48) [2022-02-20 23:38:29,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:29,066 INFO L93 Difference]: Finished difference Result 227 states and 281 transitions. [2022-02-20 23:38:29,067 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 281 transitions. [2022-02-20 23:38:29,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:29,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:29,068 INFO L74 IsIncluded]: Start isIncluded. First operand has 224 states, 124 states have (on average 1.532258064516129) internal successors, (190), 176 states have internal predecessors, (190), 34 states have call successors, (34), 10 states have call predecessors, (34), 13 states have return successors, (48), 37 states have call predecessors, (48), 34 states have call successors, (48) Second operand 227 states. [2022-02-20 23:38:29,068 INFO L87 Difference]: Start difference. First operand has 224 states, 124 states have (on average 1.532258064516129) internal successors, (190), 176 states have internal predecessors, (190), 34 states have call successors, (34), 10 states have call predecessors, (34), 13 states have return successors, (48), 37 states have call predecessors, (48), 34 states have call successors, (48) Second operand 227 states. [2022-02-20 23:38:29,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:29,073 INFO L93 Difference]: Finished difference Result 227 states and 281 transitions. [2022-02-20 23:38:29,073 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 281 transitions. [2022-02-20 23:38:29,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:29,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:29,074 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:29,074 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:29,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 124 states have (on average 1.532258064516129) internal successors, (190), 176 states have internal predecessors, (190), 34 states have call successors, (34), 10 states have call predecessors, (34), 13 states have return successors, (48), 37 states have call predecessors, (48), 34 states have call successors, (48) [2022-02-20 23:38:29,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 272 transitions. [2022-02-20 23:38:29,078 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 272 transitions. Word has length 25 [2022-02-20 23:38:29,078 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:29,079 INFO L470 AbstractCegarLoop]: Abstraction has 224 states and 272 transitions. [2022-02-20 23:38:29,079 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:29,079 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 272 transitions. [2022-02-20 23:38:29,079 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:38:29,079 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:29,079 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:29,084 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:29,289 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:29,490 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:29,490 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting minErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:38:29,491 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:29,491 INFO L85 PathProgramCache]: Analyzing trace with hash -1668050227, now seen corresponding path program 1 times [2022-02-20 23:38:29,491 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:29,491 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1852683173] [2022-02-20 23:38:29,492 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:29,492 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:29,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:29,493 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:29,493 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:29,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:29,578 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:38:29,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:29,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:29,600 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:29,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {7162#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {7162#true} is VALID [2022-02-20 23:38:29,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {7162#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {7162#true} is VALID [2022-02-20 23:38:29,712 INFO L272 TraceCheckUtils]: 2: Hoare triple {7162#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {7162#true} is VALID [2022-02-20 23:38:29,713 INFO L290 TraceCheckUtils]: 3: Hoare triple {7162#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; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,713 INFO L290 TraceCheckUtils]: 4: Hoare triple {7176#(= (_ 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 {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,714 INFO L272 TraceCheckUtils]: 6: Hoare triple {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {7186#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:29,715 INFO L290 TraceCheckUtils]: 7: Hoare triple {7186#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7186#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:29,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {7186#(= |old(#valid)| |#valid|)} assume true; {7186#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:29,716 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {7186#(= |old(#valid)| |#valid|)} {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #223#return; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,716 INFO L290 TraceCheckUtils]: 10: Hoare triple {7176#(= (_ 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 {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,716 INFO L290 TraceCheckUtils]: 11: Hoare triple {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret8.base, #t~ret8.offset; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,717 INFO L272 TraceCheckUtils]: 12: Hoare triple {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {7186#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:29,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {7186#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7186#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:29,717 INFO L290 TraceCheckUtils]: 14: Hoare triple {7186#(= |old(#valid)| |#valid|)} assume true; {7186#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:29,718 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7186#(= |old(#valid)| |#valid|)} {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #225#return; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,719 INFO L290 TraceCheckUtils]: 16: Hoare triple {7176#(= (_ 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 {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,719 INFO L290 TraceCheckUtils]: 17: Hoare triple {7176#(= (_ 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; {7220#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:29,719 INFO L290 TraceCheckUtils]: 18: Hoare triple {7220#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} assume true; {7220#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:29,720 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {7220#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} {7162#true} #237#return; {7227#(= (select |#valid| |ULTIMATE.start_main_#t~ret43#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:29,720 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#(= (select |#valid| |ULTIMATE.start_main_#t~ret43#1.base|) (_ bv1 1))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {7231#(= (select |#valid| |ULTIMATE.start_task_~t#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:29,721 INFO L272 TraceCheckUtils]: 21: Hoare triple {7231#(= (select |#valid| |ULTIMATE.start_task_~t#1.base|) (_ bv1 1))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {7235#(= (_ bv1 1) (select |#valid| |min_#in~n.base|))} is VALID [2022-02-20 23:38:29,721 INFO L290 TraceCheckUtils]: 22: Hoare triple {7235#(= (_ bv1 1) (select |#valid| |min_#in~n.base|))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {7239#(= (select |#valid| min_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:29,722 INFO L290 TraceCheckUtils]: 23: Hoare triple {7239#(= (select |#valid| min_~n.base) (_ bv1 1))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {7239#(= (select |#valid| min_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:29,722 INFO L290 TraceCheckUtils]: 24: Hoare triple {7239#(= (select |#valid| min_~n.base) (_ bv1 1))} assume !(1bv1 == #valid[~n.base]); {7163#false} is VALID [2022-02-20 23:38:29,722 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:29,722 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:29,937 INFO L290 TraceCheckUtils]: 24: Hoare triple {7239#(= (select |#valid| min_~n.base) (_ bv1 1))} assume !(1bv1 == #valid[~n.base]); {7163#false} is VALID [2022-02-20 23:38:29,938 INFO L290 TraceCheckUtils]: 23: Hoare triple {7239#(= (select |#valid| min_~n.base) (_ bv1 1))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {7239#(= (select |#valid| min_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:29,938 INFO L290 TraceCheckUtils]: 22: Hoare triple {7235#(= (_ bv1 1) (select |#valid| |min_#in~n.base|))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {7239#(= (select |#valid| min_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:29,939 INFO L272 TraceCheckUtils]: 21: Hoare triple {7231#(= (select |#valid| |ULTIMATE.start_task_~t#1.base|) (_ bv1 1))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {7235#(= (_ bv1 1) (select |#valid| |min_#in~n.base|))} is VALID [2022-02-20 23:38:29,939 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#(= (select |#valid| |ULTIMATE.start_main_#t~ret43#1.base|) (_ bv1 1))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {7231#(= (select |#valid| |ULTIMATE.start_task_~t#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:29,940 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {7220#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} {7162#true} #237#return; {7227#(= (select |#valid| |ULTIMATE.start_main_#t~ret43#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:29,940 INFO L290 TraceCheckUtils]: 18: Hoare triple {7220#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} assume true; {7220#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:29,941 INFO L290 TraceCheckUtils]: 17: Hoare triple {7176#(= (_ 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; {7220#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:29,941 INFO L290 TraceCheckUtils]: 16: Hoare triple {7176#(= (_ 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 {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,942 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7279#(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)))))} {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #225#return; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {7279#(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; {7279#(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:29,943 INFO L290 TraceCheckUtils]: 13: Hoare triple {7279#(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; {7279#(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:29,943 INFO L272 TraceCheckUtils]: 12: Hoare triple {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {7279#(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:29,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret8.base, #t~ret8.offset; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,944 INFO L290 TraceCheckUtils]: 10: Hoare triple {7176#(= (_ 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 {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,945 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {7279#(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)))))} {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #223#return; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,945 INFO L290 TraceCheckUtils]: 8: Hoare triple {7279#(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; {7279#(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:29,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {7279#(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; {7279#(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:29,946 INFO L272 TraceCheckUtils]: 6: Hoare triple {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {7279#(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:29,947 INFO L290 TraceCheckUtils]: 5: Hoare triple {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,947 INFO L290 TraceCheckUtils]: 4: Hoare triple {7176#(= (_ 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 {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,948 INFO L290 TraceCheckUtils]: 3: Hoare triple {7162#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; {7176#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:29,948 INFO L272 TraceCheckUtils]: 2: Hoare triple {7162#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {7162#true} is VALID [2022-02-20 23:38:29,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {7162#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {7162#true} is VALID [2022-02-20 23:38:29,948 INFO L290 TraceCheckUtils]: 0: Hoare triple {7162#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {7162#true} is VALID [2022-02-20 23:38:29,948 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:29,948 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:29,948 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1852683173] [2022-02-20 23:38:29,948 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1852683173] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:29,949 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:29,949 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-02-20 23:38:29,949 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [630387149] [2022-02-20 23:38:29,949 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:29,949 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:29,950 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:29,950 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:29,976 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:29,976 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:38:29,976 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:29,976 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:38:29,976 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:38:29,977 INFO L87 Difference]: Start difference. First operand 224 states and 272 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:33,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:33,664 INFO L93 Difference]: Finished difference Result 244 states and 296 transitions. [2022-02-20 23:38:33,664 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:38:33,664 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:33,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:33,664 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:33,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 250 transitions. [2022-02-20 23:38:33,667 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:33,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 250 transitions. [2022-02-20 23:38:33,671 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 250 transitions. [2022-02-20 23:38:33,906 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 250 edges. 250 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:33,909 INFO L225 Difference]: With dead ends: 244 [2022-02-20 23:38:33,909 INFO L226 Difference]: Without dead ends: 244 [2022-02-20 23:38:33,910 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:33,910 INFO L933 BasicCegarLoop]: 162 mSDtfsCounter, 158 mSDsluCounter, 507 mSDsCounter, 0 mSdLazyCounter, 982 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 162 SdHoareTripleChecker+Valid, 669 SdHoareTripleChecker+Invalid, 1094 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 982 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 59 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:33,910 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [162 Valid, 669 Invalid, 1094 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 982 Invalid, 0 Unknown, 59 Unchecked, 1.4s Time] [2022-02-20 23:38:33,911 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 244 states. [2022-02-20 23:38:33,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 244 to 236. [2022-02-20 23:38:33,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:33,914 INFO L82 GeneralOperation]: Start isEquivalent. First operand 244 states. Second operand has 236 states, 135 states have (on average 1.5185185185185186) internal successors, (205), 185 states have internal predecessors, (205), 36 states have call successors, (36), 11 states have call predecessors, (36), 14 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) [2022-02-20 23:38:33,915 INFO L74 IsIncluded]: Start isIncluded. First operand 244 states. Second operand has 236 states, 135 states have (on average 1.5185185185185186) internal successors, (205), 185 states have internal predecessors, (205), 36 states have call successors, (36), 11 states have call predecessors, (36), 14 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) [2022-02-20 23:38:33,916 INFO L87 Difference]: Start difference. First operand 244 states. Second operand has 236 states, 135 states have (on average 1.5185185185185186) internal successors, (205), 185 states have internal predecessors, (205), 36 states have call successors, (36), 11 states have call predecessors, (36), 14 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) [2022-02-20 23:38:33,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:33,921 INFO L93 Difference]: Finished difference Result 244 states and 296 transitions. [2022-02-20 23:38:33,921 INFO L276 IsEmpty]: Start isEmpty. Operand 244 states and 296 transitions. [2022-02-20 23:38:33,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:33,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:33,922 INFO L74 IsIncluded]: Start isIncluded. First operand has 236 states, 135 states have (on average 1.5185185185185186) internal successors, (205), 185 states have internal predecessors, (205), 36 states have call successors, (36), 11 states have call predecessors, (36), 14 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) Second operand 244 states. [2022-02-20 23:38:33,923 INFO L87 Difference]: Start difference. First operand has 236 states, 135 states have (on average 1.5185185185185186) internal successors, (205), 185 states have internal predecessors, (205), 36 states have call successors, (36), 11 states have call predecessors, (36), 14 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) Second operand 244 states. [2022-02-20 23:38:33,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:33,927 INFO L93 Difference]: Finished difference Result 244 states and 296 transitions. [2022-02-20 23:38:33,928 INFO L276 IsEmpty]: Start isEmpty. Operand 244 states and 296 transitions. [2022-02-20 23:38:33,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:33,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:33,928 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:33,928 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:33,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 236 states, 135 states have (on average 1.5185185185185186) internal successors, (205), 185 states have internal predecessors, (205), 36 states have call successors, (36), 11 states have call predecessors, (36), 14 states have return successors, (50), 39 states have call predecessors, (50), 36 states have call successors, (50) [2022-02-20 23:38:33,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 236 states to 236 states and 291 transitions. [2022-02-20 23:38:33,949 INFO L78 Accepts]: Start accepts. Automaton has 236 states and 291 transitions. Word has length 25 [2022-02-20 23:38:33,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:33,949 INFO L470 AbstractCegarLoop]: Abstraction has 236 states and 291 transitions. [2022-02-20 23:38:33,950 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:33,950 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 291 transitions. [2022-02-20 23:38:33,950 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:38:33,950 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:33,950 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,959 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:34,150 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:34,151 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting minErr1REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:38:34,151 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:34,151 INFO L85 PathProgramCache]: Analyzing trace with hash -1668050226, now seen corresponding path program 1 times [2022-02-20 23:38:34,151 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:34,151 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1480653095] [2022-02-20 23:38:34,151 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:34,151 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:34,151 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:34,152 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:34,153 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:34,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:34,222 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:38:34,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:34,231 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:34,248 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,433 INFO L290 TraceCheckUtils]: 0: Hoare triple {8296#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {8296#true} is VALID [2022-02-20 23:38:34,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {8296#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {8296#true} is VALID [2022-02-20 23:38:34,433 INFO L272 TraceCheckUtils]: 2: Hoare triple {8296#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {8296#true} is VALID [2022-02-20 23:38:34,434 INFO L290 TraceCheckUtils]: 3: Hoare triple {8296#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; {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:34,435 INFO L290 TraceCheckUtils]: 4: Hoare triple {8310#(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 {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:34,435 INFO L290 TraceCheckUtils]: 5: Hoare triple {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~nondet7; {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:34,436 INFO L272 TraceCheckUtils]: 6: Hoare triple {8310#(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(); {8320#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:34,436 INFO L290 TraceCheckUtils]: 7: Hoare triple {8320#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {8320#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:34,436 INFO L290 TraceCheckUtils]: 8: Hoare triple {8320#(= |#length| |old(#length)|)} assume true; {8320#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:34,437 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {8320#(= |#length| |old(#length)|)} {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #223#return; {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:34,437 INFO L290 TraceCheckUtils]: 10: Hoare triple {8310#(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 {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:34,438 INFO L290 TraceCheckUtils]: 11: Hoare triple {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~ret8.base, #t~ret8.offset; {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:34,438 INFO L272 TraceCheckUtils]: 12: Hoare triple {8310#(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(); {8320#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:34,439 INFO L290 TraceCheckUtils]: 13: Hoare triple {8320#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {8320#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:34,439 INFO L290 TraceCheckUtils]: 14: Hoare triple {8320#(= |#length| |old(#length)|)} assume true; {8320#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:34,439 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8320#(= |#length| |old(#length)|)} {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #225#return; {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:34,440 INFO L290 TraceCheckUtils]: 16: Hoare triple {8310#(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 {8310#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:34,440 INFO L290 TraceCheckUtils]: 17: Hoare triple {8310#(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; {8354#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:34,440 INFO L290 TraceCheckUtils]: 18: Hoare triple {8354#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {8354#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:34,441 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8354#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {8296#true} #237#return; {8361#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= (select |#length| |ULTIMATE.start_main_#t~ret43#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:38:34,441 INFO L290 TraceCheckUtils]: 20: Hoare triple {8361#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (= (select |#length| |ULTIMATE.start_main_#t~ret43#1.base|) (_ bv12 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {8365#(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:34,442 INFO L272 TraceCheckUtils]: 21: Hoare triple {8365#(and (= (select |#length| |ULTIMATE.start_task_~t#1.base|) (_ bv12 32)) (= (_ bv0 32) |ULTIMATE.start_task_~t#1.offset|))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {8369#(and (= |min_#in~n.offset| (_ bv0 32)) (= (select |#length| |min_#in~n.base|) (_ bv12 32)))} is VALID [2022-02-20 23:38:34,442 INFO L290 TraceCheckUtils]: 22: Hoare triple {8369#(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; {8373#(and (= min_~n.offset (_ bv0 32)) (= (select |#length| min_~n.base) (_ bv12 32)))} is VALID [2022-02-20 23:38:34,442 INFO L290 TraceCheckUtils]: 23: Hoare triple {8373#(and (= min_~n.offset (_ bv0 32)) (= (select |#length| min_~n.base) (_ bv12 32)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {8373#(and (= min_~n.offset (_ bv0 32)) (= (select |#length| min_~n.base) (_ bv12 32)))} is VALID [2022-02-20 23:38:34,443 INFO L290 TraceCheckUtils]: 24: Hoare triple {8373#(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)); {8297#false} is VALID [2022-02-20 23:38:34,443 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,443 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:35,304 INFO L290 TraceCheckUtils]: 24: Hoare triple {8380#(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)); {8297#false} is VALID [2022-02-20 23:38:35,306 INFO L290 TraceCheckUtils]: 23: Hoare triple {8380#(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); {8380#(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:35,307 INFO L290 TraceCheckUtils]: 22: Hoare triple {8387#(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; {8380#(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:35,309 INFO L272 TraceCheckUtils]: 21: Hoare triple {8391#(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~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {8387#(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:35,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {8395#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (select |#length| |ULTIMATE.start_main_#t~ret43#1.base|)) (bvule |ULTIMATE.start_main_#t~ret43#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {8391#(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:35,316 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8402#(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))))} {8296#true} #237#return; {8395#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|) (select |#length| |ULTIMATE.start_main_#t~ret43#1.base|)) (bvule |ULTIMATE.start_main_#t~ret43#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)))} is VALID [2022-02-20 23:38:35,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {8402#(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; {8402#(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:35,340 INFO L290 TraceCheckUtils]: 17: Hoare triple {8409#(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; {8402#(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:35,341 INFO L290 TraceCheckUtils]: 16: Hoare triple {8409#(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 {8409#(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:35,380 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8419#(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)))))} {8409#(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)))} #225#return; {8409#(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:35,435 INFO L290 TraceCheckUtils]: 14: Hoare triple {8419#(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; {8419#(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:35,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {8419#(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; {8419#(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:35,615 INFO L272 TraceCheckUtils]: 12: Hoare triple {8409#(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(); {8419#(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:35,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {8409#(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; {8409#(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:35,616 INFO L290 TraceCheckUtils]: 10: Hoare triple {8409#(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 {8409#(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:35,658 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {8419#(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)))))} {8409#(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)))} #223#return; {8409#(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:35,709 INFO L290 TraceCheckUtils]: 8: Hoare triple {8419#(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; {8419#(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:35,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {8419#(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; {8419#(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:35,909 INFO L272 TraceCheckUtils]: 6: Hoare triple {8409#(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(); {8419#(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:35,909 INFO L290 TraceCheckUtils]: 5: Hoare triple {8409#(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; {8409#(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:35,910 INFO L290 TraceCheckUtils]: 4: Hoare triple {8409#(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 {8409#(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:35,911 INFO L290 TraceCheckUtils]: 3: Hoare triple {8296#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; {8409#(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:35,911 INFO L272 TraceCheckUtils]: 2: Hoare triple {8296#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {8296#true} is VALID [2022-02-20 23:38:35,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {8296#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {8296#true} is VALID [2022-02-20 23:38:35,912 INFO L290 TraceCheckUtils]: 0: Hoare triple {8296#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {8296#true} is VALID [2022-02-20 23:38:35,912 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:35,912 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:35,912 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1480653095] [2022-02-20 23:38:35,912 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1480653095] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:35,913 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:35,913 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 15 [2022-02-20 23:38:35,913 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [555937849] [2022-02-20 23:38:35,913 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:35,914 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:35,914 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:35,915 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:37,512 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:37,512 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:38:37,512 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:37,512 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:38:37,512 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=204, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:38:37,513 INFO L87 Difference]: Start difference. First operand 236 states and 291 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:48,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:48,340 INFO L93 Difference]: Finished difference Result 261 states and 327 transitions. [2022-02-20 23:38:48,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:38:48,341 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:48,341 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:48,341 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:48,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 241 transitions. [2022-02-20 23:38:48,343 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:48,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 241 transitions. [2022-02-20 23:38:48,344 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 241 transitions. [2022-02-20 23:38:48,592 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 241 edges. 241 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:48,596 INFO L225 Difference]: With dead ends: 261 [2022-02-20 23:38:48,596 INFO L226 Difference]: Without dead ends: 261 [2022-02-20 23:38:48,596 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:38:48,596 INFO L933 BasicCegarLoop]: 156 mSDtfsCounter, 154 mSDsluCounter, 621 mSDsCounter, 0 mSdLazyCounter, 1658 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 159 SdHoareTripleChecker+Valid, 777 SdHoareTripleChecker+Invalid, 1749 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 1658 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 47 IncrementalHoareTripleChecker+Unchecked, 4.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:48,597 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [159 Valid, 777 Invalid, 1749 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 1658 Invalid, 0 Unknown, 47 Unchecked, 4.5s Time] [2022-02-20 23:38:48,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 261 states. [2022-02-20 23:38:48,608 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 261 to 252. [2022-02-20 23:38:48,608 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:48,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 261 states. Second operand has 252 states, 147 states have (on average 1.4965986394557824) internal successors, (220), 197 states have internal predecessors, (220), 39 states have call successors, (39), 12 states have call predecessors, (39), 15 states have return successors, (53), 42 states have call predecessors, (53), 39 states have call successors, (53) [2022-02-20 23:38:48,609 INFO L74 IsIncluded]: Start isIncluded. First operand 261 states. Second operand has 252 states, 147 states have (on average 1.4965986394557824) internal successors, (220), 197 states have internal predecessors, (220), 39 states have call successors, (39), 12 states have call predecessors, (39), 15 states have return successors, (53), 42 states have call predecessors, (53), 39 states have call successors, (53) [2022-02-20 23:38:48,609 INFO L87 Difference]: Start difference. First operand 261 states. Second operand has 252 states, 147 states have (on average 1.4965986394557824) internal successors, (220), 197 states have internal predecessors, (220), 39 states have call successors, (39), 12 states have call predecessors, (39), 15 states have return successors, (53), 42 states have call predecessors, (53), 39 states have call successors, (53) [2022-02-20 23:38:48,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:48,614 INFO L93 Difference]: Finished difference Result 261 states and 327 transitions. [2022-02-20 23:38:48,615 INFO L276 IsEmpty]: Start isEmpty. Operand 261 states and 327 transitions. [2022-02-20 23:38:48,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:48,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:48,616 INFO L74 IsIncluded]: Start isIncluded. First operand has 252 states, 147 states have (on average 1.4965986394557824) internal successors, (220), 197 states have internal predecessors, (220), 39 states have call successors, (39), 12 states have call predecessors, (39), 15 states have return successors, (53), 42 states have call predecessors, (53), 39 states have call successors, (53) Second operand 261 states. [2022-02-20 23:38:48,616 INFO L87 Difference]: Start difference. First operand has 252 states, 147 states have (on average 1.4965986394557824) internal successors, (220), 197 states have internal predecessors, (220), 39 states have call successors, (39), 12 states have call predecessors, (39), 15 states have return successors, (53), 42 states have call predecessors, (53), 39 states have call successors, (53) Second operand 261 states. [2022-02-20 23:38:48,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:48,621 INFO L93 Difference]: Finished difference Result 261 states and 327 transitions. [2022-02-20 23:38:48,621 INFO L276 IsEmpty]: Start isEmpty. Operand 261 states and 327 transitions. [2022-02-20 23:38:48,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:48,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:48,622 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:48,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:48,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 252 states, 147 states have (on average 1.4965986394557824) internal successors, (220), 197 states have internal predecessors, (220), 39 states have call successors, (39), 12 states have call predecessors, (39), 15 states have return successors, (53), 42 states have call predecessors, (53), 39 states have call successors, (53) [2022-02-20 23:38:48,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 252 states to 252 states and 312 transitions. [2022-02-20 23:38:48,627 INFO L78 Accepts]: Start accepts. Automaton has 252 states and 312 transitions. Word has length 25 [2022-02-20 23:38:48,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:48,628 INFO L470 AbstractCegarLoop]: Abstraction has 252 states and 312 transitions. [2022-02-20 23:38:48,628 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:48,628 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 312 transitions. [2022-02-20 23:38:48,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:38:48,628 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:48,629 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:48,649 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:48,835 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:48,835 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting tree_inorderErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:38:48,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:48,836 INFO L85 PathProgramCache]: Analyzing trace with hash 369889479, now seen corresponding path program 1 times [2022-02-20 23:38:48,836 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:48,836 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [744067961] [2022-02-20 23:38:48,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:48,836 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:48,836 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:48,837 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:48,838 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:48,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:48,911 INFO L263 TraceCheckSpWp]: Trace formula consists of 110 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:38:48,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:48,921 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:49,013 INFO L290 TraceCheckUtils]: 0: Hoare triple {9505#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {9505#true} is VALID [2022-02-20 23:38:49,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {9505#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {9505#true} is VALID [2022-02-20 23:38:49,014 INFO L272 TraceCheckUtils]: 2: Hoare triple {9505#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {9505#true} is VALID [2022-02-20 23:38:49,014 INFO L290 TraceCheckUtils]: 3: Hoare triple {9505#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {9505#true} is VALID [2022-02-20 23:38:49,014 INFO L290 TraceCheckUtils]: 4: Hoare triple {9505#true} assume true; {9505#true} is VALID [2022-02-20 23:38:49,014 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {9505#true} {9505#true} #237#return; {9505#true} is VALID [2022-02-20 23:38:49,027 INFO L290 TraceCheckUtils]: 6: Hoare triple {9505#true} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {9505#true} is VALID [2022-02-20 23:38:49,027 INFO L272 TraceCheckUtils]: 7: Hoare triple {9505#true} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {9505#true} is VALID [2022-02-20 23:38:49,028 INFO L290 TraceCheckUtils]: 8: Hoare triple {9505#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {9505#true} is VALID [2022-02-20 23:38:49,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {9505#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {9505#true} is VALID [2022-02-20 23:38:49,028 INFO L290 TraceCheckUtils]: 10: Hoare triple {9505#true} assume true; {9505#true} is VALID [2022-02-20 23:38:49,029 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {9505#true} {9505#true} #239#return; {9505#true} is VALID [2022-02-20 23:38:49,029 INFO L290 TraceCheckUtils]: 12: Hoare triple {9505#true} task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {9505#true} is VALID [2022-02-20 23:38:49,029 INFO L272 TraceCheckUtils]: 13: Hoare triple {9505#true} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {9505#true} is VALID [2022-02-20 23:38:49,029 INFO L290 TraceCheckUtils]: 14: Hoare triple {9505#true} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {9505#true} is VALID [2022-02-20 23:38:49,030 INFO L290 TraceCheckUtils]: 15: Hoare triple {9505#true} assume ~t.base == 0bv32 && ~t.offset == 0bv32;#res := 0bv32; {9555#(= |size_#res| (_ bv0 32))} is VALID [2022-02-20 23:38:49,030 INFO L290 TraceCheckUtils]: 16: Hoare triple {9555#(= |size_#res| (_ bv0 32))} assume true; {9555#(= |size_#res| (_ bv0 32))} is VALID [2022-02-20 23:38:49,031 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9555#(= |size_#res| (_ bv0 32))} {9505#true} #241#return; {9562#(= |ULTIMATE.start_task_#t~ret31#1| (_ bv0 32))} is VALID [2022-02-20 23:38:49,031 INFO L290 TraceCheckUtils]: 18: Hoare triple {9562#(= |ULTIMATE.start_task_#t~ret31#1| (_ bv0 32))} task_~n~1#1 := task_#t~ret31#1;havoc task_#t~ret31#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; {9566#(= |ULTIMATE.start_assume_cycle_if_not_~cond#1| (_ bv0 32))} is VALID [2022-02-20 23:38:49,031 INFO L290 TraceCheckUtils]: 19: Hoare triple {9566#(= |ULTIMATE.start_assume_cycle_if_not_~cond#1| (_ bv0 32))} assume !(0bv32 == assume_cycle_if_not_~cond#1); {9506#false} is VALID [2022-02-20 23:38:49,032 INFO L290 TraceCheckUtils]: 20: Hoare triple {9506#false} assume { :end_inline_assume_cycle_if_not } true;call task_#t~malloc32#1.base, task_#t~malloc32#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, task_~n~1#1)); {9506#false} is VALID [2022-02-20 23:38:49,032 INFO L272 TraceCheckUtils]: 21: Hoare triple {9506#false} call #Ultimate.meminit(task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_~n~1#1, 4bv32, ~bvmul32(4bv32, task_~n~1#1)); {9506#false} is VALID [2022-02-20 23:38:49,032 INFO L290 TraceCheckUtils]: 22: Hoare triple {9506#false} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {9506#false} is VALID [2022-02-20 23:38:49,032 INFO L290 TraceCheckUtils]: 23: Hoare triple {9506#false} assume true; {9506#false} is VALID [2022-02-20 23:38:49,032 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {9506#false} {9506#false} #243#return; {9506#false} is VALID [2022-02-20 23:38:49,032 INFO L290 TraceCheckUtils]: 25: Hoare triple {9506#false} task_~x~0#1.base, task_~x~0#1.offset := task_#t~malloc32#1.base, task_#t~malloc32#1.offset; {9506#false} is VALID [2022-02-20 23:38:49,032 INFO L272 TraceCheckUtils]: 26: Hoare triple {9506#false} call task_#t~ret33#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); {9506#false} is VALID [2022-02-20 23:38:49,033 INFO L290 TraceCheckUtils]: 27: Hoare triple {9506#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~i := #in~i; {9506#false} is VALID [2022-02-20 23:38:49,033 INFO L290 TraceCheckUtils]: 28: Hoare triple {9506#false} assume !(~t.base == 0bv32 && ~t.offset == 0bv32); {9506#false} is VALID [2022-02-20 23:38:49,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {9506#false} assume !(1bv1 == #valid[~t.base]); {9506#false} is VALID [2022-02-20 23:38:49,034 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:49,034 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:49,035 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:49,035 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [744067961] [2022-02-20 23:38:49,035 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [744067961] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:49,035 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:49,035 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:38:49,035 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [645697283] [2022-02-20 23:38:49,035 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:49,036 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:49,036 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:49,036 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:49,059 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:49,059 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:38:49,059 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:49,059 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:38:49,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:38:49,060 INFO L87 Difference]: Start difference. First operand 252 states and 312 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:49,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:49,820 INFO L93 Difference]: Finished difference Result 242 states and 293 transitions. [2022-02-20 23:38:49,820 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:38:49,820 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:49,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:49,821 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:49,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 196 transitions. [2022-02-20 23:38:49,822 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:49,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 196 transitions. [2022-02-20 23:38:49,823 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 196 transitions. [2022-02-20 23:38:49,984 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 196 edges. 196 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:49,988 INFO L225 Difference]: With dead ends: 242 [2022-02-20 23:38:49,988 INFO L226 Difference]: Without dead ends: 226 [2022-02-20 23:38:49,988 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:49,988 INFO L933 BasicCegarLoop]: 188 mSDtfsCounter, 0 mSDsluCounter, 560 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 748 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:49,988 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 748 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:49,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 226 states. [2022-02-20 23:38:49,992 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 226 to 226. [2022-02-20 23:38:49,993 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:49,993 INFO L82 GeneralOperation]: Start isEquivalent. First operand 226 states. Second operand has 226 states, 130 states have (on average 1.5307692307692307) internal successors, (199), 181 states have internal predecessors, (199), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) [2022-02-20 23:38:49,993 INFO L74 IsIncluded]: Start isIncluded. First operand 226 states. Second operand has 226 states, 130 states have (on average 1.5307692307692307) internal successors, (199), 181 states have internal predecessors, (199), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) [2022-02-20 23:38:49,994 INFO L87 Difference]: Start difference. First operand 226 states. Second operand has 226 states, 130 states have (on average 1.5307692307692307) internal successors, (199), 181 states have internal predecessors, (199), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) [2022-02-20 23:38:49,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:49,998 INFO L93 Difference]: Finished difference Result 226 states and 277 transitions. [2022-02-20 23:38:49,998 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 277 transitions. [2022-02-20 23:38:49,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:49,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:49,999 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 130 states have (on average 1.5307692307692307) internal successors, (199), 181 states have internal predecessors, (199), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) Second operand 226 states. [2022-02-20 23:38:50,000 INFO L87 Difference]: Start difference. First operand has 226 states, 130 states have (on average 1.5307692307692307) internal successors, (199), 181 states have internal predecessors, (199), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) Second operand 226 states. [2022-02-20 23:38:50,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:50,004 INFO L93 Difference]: Finished difference Result 226 states and 277 transitions. [2022-02-20 23:38:50,004 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 277 transitions. [2022-02-20 23:38:50,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:50,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:50,005 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:50,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:50,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 130 states have (on average 1.5307692307692307) internal successors, (199), 181 states have internal predecessors, (199), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) [2022-02-20 23:38:50,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 277 transitions. [2022-02-20 23:38:50,009 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 277 transitions. Word has length 30 [2022-02-20 23:38:50,009 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:50,009 INFO L470 AbstractCegarLoop]: Abstraction has 226 states and 277 transitions. [2022-02-20 23:38:50,009 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:50,009 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 277 transitions. [2022-02-20 23:38:50,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:38:50,010 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:50,010 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:50,017 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:50,210 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:50,211 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting sizeErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:38:50,211 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:50,211 INFO L85 PathProgramCache]: Analyzing trace with hash -648076771, now seen corresponding path program 1 times [2022-02-20 23:38:50,212 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:50,212 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1061762818] [2022-02-20 23:38:50,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:50,212 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:50,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:50,213 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:50,214 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:50,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:50,285 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:38:50,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:50,295 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:50,397 INFO L290 TraceCheckUtils]: 0: Hoare triple {10519#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {10519#true} is VALID [2022-02-20 23:38:50,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {10519#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {10519#true} is VALID [2022-02-20 23:38:50,397 INFO L272 TraceCheckUtils]: 2: Hoare triple {10519#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {10519#true} is VALID [2022-02-20 23:38:50,398 INFO L290 TraceCheckUtils]: 3: Hoare triple {10519#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; {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:50,398 INFO L290 TraceCheckUtils]: 4: Hoare triple {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:50,398 INFO L290 TraceCheckUtils]: 5: Hoare triple {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} havoc #t~nondet7; {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:50,398 INFO L272 TraceCheckUtils]: 6: Hoare triple {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {10519#true} is VALID [2022-02-20 23:38:50,399 INFO L290 TraceCheckUtils]: 7: Hoare triple {10519#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {10519#true} is VALID [2022-02-20 23:38:50,399 INFO L290 TraceCheckUtils]: 8: Hoare triple {10519#true} assume true; {10519#true} is VALID [2022-02-20 23:38:50,399 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {10519#true} {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #223#return; {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:50,399 INFO L290 TraceCheckUtils]: 10: Hoare triple {10533#(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 {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:50,400 INFO L290 TraceCheckUtils]: 11: Hoare triple {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} havoc #t~ret8.base, #t~ret8.offset; {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:50,400 INFO L272 TraceCheckUtils]: 12: Hoare triple {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {10519#true} is VALID [2022-02-20 23:38:50,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {10519#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {10519#true} is VALID [2022-02-20 23:38:50,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {10519#true} assume true; {10519#true} is VALID [2022-02-20 23:38:50,401 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10519#true} {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #225#return; {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:50,401 INFO L290 TraceCheckUtils]: 16: Hoare triple {10533#(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 {10533#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:50,402 INFO L290 TraceCheckUtils]: 17: Hoare triple {10533#(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; {10576#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:50,402 INFO L290 TraceCheckUtils]: 18: Hoare triple {10576#(not (= |nondet_tree_#res.base| (_ bv0 32)))} assume true; {10576#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:50,403 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10576#(not (= |nondet_tree_#res.base| (_ bv0 32)))} {10519#true} #237#return; {10583#(not (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:50,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {10583#(not (= |ULTIMATE.start_main_#t~ret43#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {10587#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:50,403 INFO L272 TraceCheckUtils]: 21: Hoare triple {10587#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {10519#true} is VALID [2022-02-20 23:38:50,403 INFO L290 TraceCheckUtils]: 22: Hoare triple {10519#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {10594#(= |min_#in~n.base| min_~n.base)} is VALID [2022-02-20 23:38:50,404 INFO L290 TraceCheckUtils]: 23: Hoare triple {10594#(= |min_#in~n.base| min_~n.base)} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483647bv32; {10598#(= |min_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 23:38:50,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {10598#(= |min_#in~n.base| (_ bv0 32))} assume true; {10598#(= |min_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 23:38:50,405 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {10598#(= |min_#in~n.base| (_ bv0 32))} {10587#(not (= |ULTIMATE.start_task_~t#1.base| (_ bv0 32)))} #239#return; {10520#false} is VALID [2022-02-20 23:38:50,405 INFO L290 TraceCheckUtils]: 26: Hoare triple {10520#false} task_~a~1#1 := task_#t~ret30#1;havoc task_#t~ret30#1;call task_~#b~1#1.base, task_~#b~1#1.offset := #Ultimate.allocOnStack(4bv32); {10520#false} is VALID [2022-02-20 23:38:50,405 INFO L272 TraceCheckUtils]: 27: Hoare triple {10520#false} call task_#t~ret31#1 := size(task_~t#1.base, task_~t#1.offset); {10520#false} is VALID [2022-02-20 23:38:50,405 INFO L290 TraceCheckUtils]: 28: Hoare triple {10520#false} ~t.base, ~t.offset := #in~t.base, #in~t.offset; {10520#false} is VALID [2022-02-20 23:38:50,405 INFO L290 TraceCheckUtils]: 29: Hoare triple {10520#false} assume !(~t.base == 0bv32 && ~t.offset == 0bv32); {10520#false} is VALID [2022-02-20 23:38:50,405 INFO L290 TraceCheckUtils]: 30: Hoare triple {10520#false} assume !(1bv1 == #valid[~t.base]); {10520#false} is VALID [2022-02-20 23:38:50,405 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:50,405 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:50,405 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:50,405 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1061762818] [2022-02-20 23:38:50,405 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1061762818] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:50,405 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:50,406 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 23:38:50,406 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [92240700] [2022-02-20 23:38:50,406 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:50,406 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:50,406 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:50,406 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:50,429 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:50,429 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:38:50,430 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:50,430 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:38:50,430 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:38:50,430 INFO L87 Difference]: Start difference. First operand 226 states and 277 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:52,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:52,024 INFO L93 Difference]: Finished difference Result 232 states and 286 transitions. [2022-02-20 23:38:52,024 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:38:52,024 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:52,024 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:52,024 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:52,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 196 transitions. [2022-02-20 23:38:52,026 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:52,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 196 transitions. [2022-02-20 23:38:52,027 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 196 transitions. [2022-02-20 23:38:52,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 196 edges. 196 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:52,197 INFO L225 Difference]: With dead ends: 232 [2022-02-20 23:38:52,197 INFO L226 Difference]: Without dead ends: 228 [2022-02-20 23:38:52,198 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:52,198 INFO L933 BasicCegarLoop]: 171 mSDtfsCounter, 109 mSDsluCounter, 883 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 113 SdHoareTripleChecker+Valid, 1054 SdHoareTripleChecker+Invalid, 164 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 140 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:52,198 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [113 Valid, 1054 Invalid, 164 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 140 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:38:52,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 228 states. [2022-02-20 23:38:52,202 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 228 to 226. [2022-02-20 23:38:52,202 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:52,202 INFO L82 GeneralOperation]: Start isEquivalent. First operand 228 states. Second operand has 226 states, 130 states have (on average 1.5153846153846153) internal successors, (197), 181 states have internal predecessors, (197), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) [2022-02-20 23:38:52,203 INFO L74 IsIncluded]: Start isIncluded. First operand 228 states. Second operand has 226 states, 130 states have (on average 1.5153846153846153) internal successors, (197), 181 states have internal predecessors, (197), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) [2022-02-20 23:38:52,204 INFO L87 Difference]: Start difference. First operand 228 states. Second operand has 226 states, 130 states have (on average 1.5153846153846153) internal successors, (197), 181 states have internal predecessors, (197), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) [2022-02-20 23:38:52,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:52,209 INFO L93 Difference]: Finished difference Result 228 states and 282 transitions. [2022-02-20 23:38:52,209 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 282 transitions. [2022-02-20 23:38:52,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:52,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:52,210 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 130 states have (on average 1.5153846153846153) internal successors, (197), 181 states have internal predecessors, (197), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) Second operand 228 states. [2022-02-20 23:38:52,211 INFO L87 Difference]: Start difference. First operand has 226 states, 130 states have (on average 1.5153846153846153) internal successors, (197), 181 states have internal predecessors, (197), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) Second operand 228 states. [2022-02-20 23:38:52,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:52,215 INFO L93 Difference]: Finished difference Result 228 states and 282 transitions. [2022-02-20 23:38:52,215 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 282 transitions. [2022-02-20 23:38:52,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:52,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:52,215 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:52,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:52,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 130 states have (on average 1.5153846153846153) internal successors, (197), 181 states have internal predecessors, (197), 31 states have call successors, (31), 10 states have call predecessors, (31), 14 states have return successors, (47), 34 states have call predecessors, (47), 31 states have call successors, (47) [2022-02-20 23:38:52,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 275 transitions. [2022-02-20 23:38:52,219 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 275 transitions. Word has length 31 [2022-02-20 23:38:52,220 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:52,220 INFO L470 AbstractCegarLoop]: Abstraction has 226 states and 275 transitions. [2022-02-20 23:38:52,220 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:52,220 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 275 transitions. [2022-02-20 23:38:52,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:38:52,221 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:52,221 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:52,230 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:52,428 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:52,428 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting minErr0REQUIRES_VIOLATION === [nondet_treeErr0REQUIRES_VIOLATION, nondet_treeErr1REQUIRES_VIOLATION, nondet_treeErr2REQUIRES_VIOLATION, nondet_treeErr3REQUIRES_VIOLATION (and 51 more)] === [2022-02-20 23:38:52,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:52,428 INFO L85 PathProgramCache]: Analyzing trace with hash -2088825952, now seen corresponding path program 1 times [2022-02-20 23:38:52,429 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:52,429 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2083233446] [2022-02-20 23:38:52,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:52,430 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:52,430 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:52,430 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:52,432 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:52,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:52,527 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 37 conjunts are in the unsatisfiable core [2022-02-20 23:38:52,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:52,548 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:52,594 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:52,598 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:52,674 INFO L356 Elim1Store]: treesize reduction 27, result has 25.0 percent of original size [2022-02-20 23:38:52,674 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:52,679 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:52,679 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:52,846 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:52,848 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:52,916 INFO L290 TraceCheckUtils]: 0: Hoare triple {11540#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {11540#true} is VALID [2022-02-20 23:38:52,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {11540#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {11540#true} is VALID [2022-02-20 23:38:52,916 INFO L272 TraceCheckUtils]: 2: Hoare triple {11540#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {11540#true} is VALID [2022-02-20 23:38:52,916 INFO L290 TraceCheckUtils]: 3: Hoare triple {11540#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; {11540#true} is VALID [2022-02-20 23:38:52,916 INFO L290 TraceCheckUtils]: 4: Hoare triple {11540#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {11540#true} is VALID [2022-02-20 23:38:52,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {11540#true} havoc #t~nondet7; {11540#true} is VALID [2022-02-20 23:38:52,917 INFO L272 TraceCheckUtils]: 6: Hoare triple {11540#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {11540#true} is VALID [2022-02-20 23:38:52,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {11540#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {11566#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:52,917 INFO L290 TraceCheckUtils]: 8: Hoare triple {11566#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {11566#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:52,918 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {11566#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {11540#true} #223#return; {11573#(and (= (_ bv0 32) |nondet_tree_#t~ret8.base|) (= |nondet_tree_#t~ret8.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:52,919 INFO L290 TraceCheckUtils]: 10: Hoare triple {11573#(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 {11577#(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:52,920 INFO L290 TraceCheckUtils]: 11: Hoare triple {11577#(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; {11577#(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:52,920 INFO L272 TraceCheckUtils]: 12: Hoare triple {11577#(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(); {11584#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:52,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {11584#(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; {11584#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:52,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {11584#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {11584#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:52,922 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11584#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {11577#(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))))} #225#return; {11577#(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:52,923 INFO L290 TraceCheckUtils]: 16: Hoare triple {11577#(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 {11577#(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:54,925 WARN L290 TraceCheckUtils]: 17: Hoare triple {11577#(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~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {11600#(and (= (select (select |#memory_$Pointer$.base| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32)))))} is UNKNOWN [2022-02-20 23:38:54,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {11600#(and (= (select (select |#memory_$Pointer$.base| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32)))))} assume true; {11600#(and (= (select (select |#memory_$Pointer$.base| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32)))))} is VALID [2022-02-20 23:38:54,927 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {11600#(and (= (select (select |#memory_$Pointer$.base| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32)))))} {11540#true} #237#return; {11607#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~ret43#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~ret43#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:38:54,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {11607#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~ret43#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~ret43#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)) (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {11611#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_task_~t#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_task_~t#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:38:54,928 INFO L272 TraceCheckUtils]: 21: Hoare triple {11611#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_task_~t#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_task_~t#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)) (_ bv0 32)))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {11615#(and (= (select (select |#memory_$Pointer$.base| |min_#in~n.base|) (bvadd (_ bv4 32) |min_#in~n.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |min_#in~n.base|) (bvadd (_ bv4 32) |min_#in~n.offset|))))} is VALID [2022-02-20 23:38:54,929 INFO L290 TraceCheckUtils]: 22: Hoare triple {11615#(and (= (select (select |#memory_$Pointer$.base| |min_#in~n.base|) (bvadd (_ bv4 32) |min_#in~n.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |min_#in~n.base|) (bvadd (_ bv4 32) |min_#in~n.offset|))))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} is VALID [2022-02-20 23:38:54,929 INFO L290 TraceCheckUtils]: 23: Hoare triple {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} is VALID [2022-02-20 23:38:54,930 INFO L290 TraceCheckUtils]: 24: Hoare triple {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} SUMMARY for call #t~mem10 := read~intINTTYPE4(~n.base, ~n.offset, 4bv32); srcloc: L40 {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} is VALID [2022-02-20 23:38:54,930 INFO L290 TraceCheckUtils]: 25: Hoare triple {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} ~a~0 := #t~mem10;havoc #t~mem10; {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} is VALID [2022-02-20 23:38:54,931 INFO L290 TraceCheckUtils]: 26: Hoare triple {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} SUMMARY for call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, ~bvadd32(4bv32, ~n.offset), 4bv32); srcloc: L41 {11632#(and (= (_ bv0 32) |min_#t~mem11.base|) (= |min_#t~mem11.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:54,931 INFO L272 TraceCheckUtils]: 27: Hoare triple {11632#(and (= (_ bv0 32) |min_#t~mem11.base|) (= |min_#t~mem11.offset| (_ bv0 32)))} call #t~ret12 := min(#t~mem11.base, #t~mem11.offset); {11636#(and (= |min_#in~n.base| (_ bv0 32)) (= |min_#in~n.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:54,931 INFO L290 TraceCheckUtils]: 28: Hoare triple {11636#(and (= |min_#in~n.base| (_ bv0 32)) (= |min_#in~n.offset| (_ bv0 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {11640#(and (= min_~n.base (_ bv0 32)) (= min_~n.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:54,932 INFO L290 TraceCheckUtils]: 29: Hoare triple {11640#(and (= min_~n.base (_ bv0 32)) (= min_~n.offset (_ bv0 32)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {11541#false} is VALID [2022-02-20 23:38:54,932 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#false} assume !(1bv1 == #valid[~n.base]); {11541#false} is VALID [2022-02-20 23:38:54,932 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:38:54,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:55,612 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#false} assume !(1bv1 == #valid[~n.base]); {11541#false} is VALID [2022-02-20 23:38:55,613 INFO L290 TraceCheckUtils]: 29: Hoare triple {11640#(and (= min_~n.base (_ bv0 32)) (= min_~n.offset (_ bv0 32)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {11541#false} is VALID [2022-02-20 23:38:55,613 INFO L290 TraceCheckUtils]: 28: Hoare triple {11636#(and (= |min_#in~n.base| (_ bv0 32)) (= |min_#in~n.offset| (_ bv0 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {11640#(and (= min_~n.base (_ bv0 32)) (= min_~n.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:55,614 INFO L272 TraceCheckUtils]: 27: Hoare triple {11632#(and (= (_ bv0 32) |min_#t~mem11.base|) (= |min_#t~mem11.offset| (_ bv0 32)))} call #t~ret12 := min(#t~mem11.base, #t~mem11.offset); {11636#(and (= |min_#in~n.base| (_ bv0 32)) (= |min_#in~n.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:55,614 INFO L290 TraceCheckUtils]: 26: Hoare triple {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} SUMMARY for call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, ~bvadd32(4bv32, ~n.offset), 4bv32); srcloc: L41 {11632#(and (= (_ bv0 32) |min_#t~mem11.base|) (= |min_#t~mem11.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:55,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} ~a~0 := #t~mem10;havoc #t~mem10; {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} is VALID [2022-02-20 23:38:55,615 INFO L290 TraceCheckUtils]: 24: Hoare triple {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} SUMMARY for call #t~mem10 := read~intINTTYPE4(~n.base, ~n.offset, 4bv32); srcloc: L40 {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} is VALID [2022-02-20 23:38:55,616 INFO L290 TraceCheckUtils]: 23: Hoare triple {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} is VALID [2022-02-20 23:38:55,616 INFO L290 TraceCheckUtils]: 22: Hoare triple {11615#(and (= (select (select |#memory_$Pointer$.base| |min_#in~n.base|) (bvadd (_ bv4 32) |min_#in~n.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |min_#in~n.base|) (bvadd (_ bv4 32) |min_#in~n.offset|))))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {11619#(and (= (select (select |#memory_$Pointer$.offset| min_~n.base) (bvadd min_~n.offset (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| min_~n.base) (bvadd min_~n.offset (_ bv4 32)))))} is VALID [2022-02-20 23:38:55,617 INFO L272 TraceCheckUtils]: 21: Hoare triple {11611#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_task_~t#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_task_~t#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)) (_ bv0 32)))} call task_#t~ret30#1 := min(task_~t#1.base, task_~t#1.offset); {11615#(and (= (select (select |#memory_$Pointer$.base| |min_#in~n.base|) (bvadd (_ bv4 32) |min_#in~n.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |min_#in~n.base|) (bvadd (_ bv4 32) |min_#in~n.offset|))))} is VALID [2022-02-20 23:38:55,617 INFO L290 TraceCheckUtils]: 20: Hoare triple {11607#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~ret43#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~ret43#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)) (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~t#1.base, task_#in~t#1.offset := main_#t~ret43#1.base, main_#t~ret43#1.offset;havoc task_#t~ret30#1, task_#t~ret31#1, task_#t~malloc32#1.base, task_#t~malloc32#1.offset, task_#t~ret33#1, task_#t~mem34#1, task_#t~ret35#1.base, task_#t~ret35#1.offset, task_#t~mem36#1, task_#t~ret37#1, task_#t~malloc38#1.base, task_#t~malloc38#1.offset, task_#t~ret39#1, task_#t~mem41#1, task_#t~mem42#1, task_#t~post40#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~1#1.base, task_~r~1#1.offset, task_~m~0#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; {11611#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_task_~t#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_task_~t#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_task_~t#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:38:55,618 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {11600#(and (= (select (select |#memory_$Pointer$.base| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32)))))} {11540#true} #237#return; {11607#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~ret43#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~ret43#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret43#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:38:55,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {11600#(and (= (select (select |#memory_$Pointer$.base| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32)))))} assume true; {11600#(and (= (select (select |#memory_$Pointer$.base| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32)))))} is VALID [2022-02-20 23:38:57,620 WARN L290 TraceCheckUtils]: 17: Hoare triple {11577#(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~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {11600#(and (= (select (select |#memory_$Pointer$.base| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |nondet_tree_#res.base|) (bvadd |nondet_tree_#res.offset| (_ bv4 32)))))} is UNKNOWN [2022-02-20 23:38:57,623 INFO L290 TraceCheckUtils]: 16: Hoare triple {11577#(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 {11577#(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:57,624 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11698#(forall ((v_nondet_tree_~n~0.offset_BEFORE_CALL_9 (_ BitVec 32)) (v_nondet_tree_~n~0.base_BEFORE_CALL_20 (_ BitVec 32))) (or (not (= (select (select |old(#memory_$Pointer$.offset)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.base)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.base| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)))))} {11577#(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))))} #225#return; {11577#(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:57,625 INFO L290 TraceCheckUtils]: 14: Hoare triple {11698#(forall ((v_nondet_tree_~n~0.offset_BEFORE_CALL_9 (_ BitVec 32)) (v_nondet_tree_~n~0.base_BEFORE_CALL_20 (_ BitVec 32))) (or (not (= (select (select |old(#memory_$Pointer$.offset)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.base)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.base| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)))))} assume true; {11698#(forall ((v_nondet_tree_~n~0.offset_BEFORE_CALL_9 (_ BitVec 32)) (v_nondet_tree_~n~0.base_BEFORE_CALL_20 (_ BitVec 32))) (or (not (= (select (select |old(#memory_$Pointer$.offset)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.base)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.base| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)))))} is VALID [2022-02-20 23:38:57,625 INFO L290 TraceCheckUtils]: 13: Hoare triple {11698#(forall ((v_nondet_tree_~n~0.offset_BEFORE_CALL_9 (_ BitVec 32)) (v_nondet_tree_~n~0.base_BEFORE_CALL_20 (_ BitVec 32))) (or (not (= (select (select |old(#memory_$Pointer$.offset)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.base)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.base| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)))))} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {11698#(forall ((v_nondet_tree_~n~0.offset_BEFORE_CALL_9 (_ BitVec 32)) (v_nondet_tree_~n~0.base_BEFORE_CALL_20 (_ BitVec 32))) (or (not (= (select (select |old(#memory_$Pointer$.offset)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.base)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.base| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)))))} is VALID [2022-02-20 23:38:57,626 INFO L272 TraceCheckUtils]: 12: Hoare triple {11577#(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(); {11698#(forall ((v_nondet_tree_~n~0.offset_BEFORE_CALL_9 (_ BitVec 32)) (v_nondet_tree_~n~0.base_BEFORE_CALL_20 (_ BitVec 32))) (or (not (= (select (select |old(#memory_$Pointer$.offset)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (not (= (select (select |old(#memory_$Pointer$.base)| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32))) (and (= (select (select |#memory_$Pointer$.base| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| v_nondet_tree_~n~0.base_BEFORE_CALL_20) (bvadd (_ bv4 32) v_nondet_tree_~n~0.offset_BEFORE_CALL_9)) (_ bv0 32)))))} is VALID [2022-02-20 23:38:57,627 INFO L290 TraceCheckUtils]: 11: Hoare triple {11577#(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; {11577#(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:57,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {11573#(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 {11577#(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:57,629 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {11566#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {11540#true} #223#return; {11573#(and (= (_ bv0 32) |nondet_tree_#t~ret8.base|) (= |nondet_tree_#t~ret8.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:57,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {11566#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {11566#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:57,629 INFO L290 TraceCheckUtils]: 7: Hoare triple {11540#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {11566#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:57,630 INFO L272 TraceCheckUtils]: 6: Hoare triple {11540#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {11540#true} is VALID [2022-02-20 23:38:57,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {11540#true} havoc #t~nondet7; {11540#true} is VALID [2022-02-20 23:38:57,630 INFO L290 TraceCheckUtils]: 4: Hoare triple {11540#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L29 {11540#true} is VALID [2022-02-20 23:38:57,630 INFO L290 TraceCheckUtils]: 3: Hoare triple {11540#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; {11540#true} is VALID [2022-02-20 23:38:57,630 INFO L272 TraceCheckUtils]: 2: Hoare triple {11540#true} call main_#t~ret43#1.base, main_#t~ret43#1.offset := nondet_tree(); {11540#true} is VALID [2022-02-20 23:38:57,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {11540#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret43#1.base, main_#t~ret43#1.offset; {11540#true} is VALID [2022-02-20 23:38:57,630 INFO L290 TraceCheckUtils]: 0: Hoare triple {11540#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(15bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {11540#true} is VALID [2022-02-20 23:38:57,630 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:38:57,630 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:57,630 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2083233446] [2022-02-20 23:38:57,630 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2083233446] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:57,630 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:57,630 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2022-02-20 23:38:57,631 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [531206973] [2022-02-20 23:38:57,631 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:57,631 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 31 [2022-02-20 23:38:57,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:57,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:57,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:57,663 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 23:38:57,663 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:57,663 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 23:38:57,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=182, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:38:57,664 INFO L87 Difference]: Start difference. First operand 226 states and 275 transitions. Second operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4)