./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memcleanup.prp --file ../sv-benchmarks/c/verifythis/tree_max.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_max.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 e98a60ea9ee0c00575c08606ce8b95d0660c5b235c5932147dfee4b13512f57c --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:37:45,925 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:37:45,927 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:37:45,963 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:37:45,964 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:37:45,966 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:37:45,968 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:37:45,970 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:37:45,972 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:37:45,977 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:37:45,977 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:37:45,978 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:37:45,979 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:37:45,980 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:37:45,981 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:37:45,984 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:37:45,985 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:37:45,986 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:37:45,987 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:37:45,988 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:37:45,991 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:37:45,992 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:37:45,993 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:37:45,994 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:37:45,998 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:37:46,000 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:37:46,001 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:37:46,001 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:37:46,002 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:37:46,003 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:37:46,003 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:37:46,003 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:37:46,004 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:37:46,005 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:37:46,006 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:37:46,007 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:37:46,007 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:37:46,007 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:37:46,008 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:37:46,008 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:37:46,008 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:37:46,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:46,034 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:37:46,035 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:37:46,035 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:37:46,035 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:37:46,036 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:37:46,036 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:37:46,037 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:37:46,037 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:37:46,037 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:37:46,037 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:37:46,037 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:37:46,038 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:37:46,038 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:37:46,038 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:37:46,038 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:37:46,038 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:37:46,038 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:37:46,038 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:37:46,039 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:37:46,039 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:37:46,039 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:37:46,039 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:37:46,040 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:37:46,040 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:37:46,041 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:46,041 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:37:46,041 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:37:46,042 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:37:46,042 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:37:46,042 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 -> e98a60ea9ee0c00575c08606ce8b95d0660c5b235c5932147dfee4b13512f57c [2022-02-20 23:37:46,224 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:37:46,250 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:37:46,252 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:37:46,254 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:37:46,255 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:37:46,256 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_max.c [2022-02-20 23:37:46,300 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f55c7c739/4c04e536a37d46ac8d86e0017e58c44d/FLAGe8d02ec65 [2022-02-20 23:37:46,677 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:37:46,678 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_max.c [2022-02-20 23:37:46,686 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f55c7c739/4c04e536a37d46ac8d86e0017e58c44d/FLAGe8d02ec65 [2022-02-20 23:37:46,698 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f55c7c739/4c04e536a37d46ac8d86e0017e58c44d [2022-02-20 23:37:46,699 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:37:46,701 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:37:46,704 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:46,704 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:37:46,706 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:37:46,707 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:46" (1/1) ... [2022-02-20 23:37:46,707 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@740fd3cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:46, skipping insertion in model container [2022-02-20 23:37:46,707 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:46" (1/1) ... [2022-02-20 23:37:46,712 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:37:46,721 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:46,863 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_max.c[544,557] [2022-02-20 23:37:46,891 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:46,902 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:46,903 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@17da318e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:46, skipping insertion in model container [2022-02-20 23:37:46,903 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:46,904 INFO L184 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2022-02-20 23:37:46,906 INFO L158 Benchmark]: Toolchain (without parser) took 203.86ms. Allocated memory is still 111.1MB. Free memory was 83.1MB in the beginning and 87.1MB in the end (delta: -3.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 23:37:46,907 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 77.6MB. Free memory was 34.8MB in the beginning and 34.7MB in the end (delta: 84.1kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:37:46,908 INFO L158 Benchmark]: CACSL2BoogieTranslator took 200.23ms. Allocated memory is still 111.1MB. Free memory was 82.7MB in the beginning and 87.1MB in the end (delta: -4.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 23:37:46,910 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 77.6MB. Free memory was 34.8MB in the beginning and 34.7MB in the end (delta: 84.1kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 200.23ms. Allocated memory is still 111.1MB. Free memory was 82.7MB in the beginning and 87.1MB in the end (delta: -4.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - UnsupportedSyntaxResult [Line: 27]: 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_max.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 e98a60ea9ee0c00575c08606ce8b95d0660c5b235c5932147dfee4b13512f57c --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:37:48,466 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:37:48,468 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:37:48,490 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:37:48,491 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:37:48,493 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:37:48,495 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:37:48,498 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:37:48,500 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:37:48,503 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:37:48,503 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:37:48,506 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:37:48,512 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:37:48,514 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:37:48,515 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:37:48,518 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:37:48,518 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:37:48,519 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:37:48,521 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:37:48,525 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:37:48,526 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:37:48,527 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:37:48,528 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:37:48,529 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:37:48,534 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:37:48,534 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:37:48,535 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:37:48,536 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:37:48,536 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:37:48,537 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:37:48,537 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:37:48,538 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:37:48,539 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:37:48,540 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:37:48,540 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:37:48,541 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:37:48,541 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:37:48,542 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:37:48,542 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:37:48,543 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:37:48,543 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:37:48,544 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:48,572 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:37:48,573 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:37:48,574 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:37:48,574 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:37:48,574 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:37:48,575 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:37:48,575 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:37:48,576 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:37:48,576 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:37:48,576 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:37:48,577 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:37:48,577 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:37:48,577 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:37:48,577 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:37:48,577 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:37:48,578 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:37:48,578 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:37:48,578 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:37:48,578 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:37:48,578 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:37:48,578 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:37:48,578 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:37:48,579 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:37:48,579 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:37:48,579 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:37:48,579 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:37:48,579 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:48,579 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:37:48,580 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:37:48,580 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:37:48,580 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:37:48,580 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:37:48,580 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 -> e98a60ea9ee0c00575c08606ce8b95d0660c5b235c5932147dfee4b13512f57c [2022-02-20 23:37:48,832 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:37:48,847 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:37:48,849 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:37:48,850 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:37:48,850 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:37:48,851 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/tree_max.c [2022-02-20 23:37:48,889 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8b0106637/bc818af88a59476ea6fdfb9cfd5b3d3f/FLAG34a9702e3 [2022-02-20 23:37:49,240 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:37:49,241 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/tree_max.c [2022-02-20 23:37:49,246 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8b0106637/bc818af88a59476ea6fdfb9cfd5b3d3f/FLAG34a9702e3 [2022-02-20 23:37:49,259 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8b0106637/bc818af88a59476ea6fdfb9cfd5b3d3f [2022-02-20 23:37:49,261 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:37:49,262 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:37:49,264 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:49,264 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:37:49,267 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:37:49,268 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:49" (1/1) ... [2022-02-20 23:37:49,268 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@42b6d3e7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:49, skipping insertion in model container [2022-02-20 23:37:49,268 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:49" (1/1) ... [2022-02-20 23:37:49,273 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:37:49,284 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:49,371 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_max.c[544,557] [2022-02-20 23:37:49,383 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:49,425 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 23:37:49,427 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:49,434 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_max.c[544,557] [2022-02-20 23:37:49,447 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:49,461 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:37:49,475 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_max.c[544,557] [2022-02-20 23:37:49,486 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:49,497 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:37:49,498 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:49 WrapperNode [2022-02-20 23:37:49,498 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:49,499 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:49,499 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:37:49,499 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:37:49,503 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:49" (1/1) ... [2022-02-20 23:37:49,511 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:49" (1/1) ... [2022-02-20 23:37:49,524 INFO L137 Inliner]: procedures = 26, calls = 28, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 37 [2022-02-20 23:37:49,524 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:49,525 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:37:49,525 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:37:49,525 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:37:49,530 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:49" (1/1) ... [2022-02-20 23:37:49,531 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:49" (1/1) ... [2022-02-20 23:37:49,533 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:49" (1/1) ... [2022-02-20 23:37:49,534 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:49" (1/1) ... [2022-02-20 23:37:49,541 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:49" (1/1) ... [2022-02-20 23:37:49,543 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:49" (1/1) ... [2022-02-20 23:37:49,544 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:49" (1/1) ... [2022-02-20 23:37:49,546 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:37:49,547 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:37:49,547 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:37:49,547 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:37:49,547 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:49" (1/1) ... [2022-02-20 23:37:49,552 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:49,558 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:49,570 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:49,604 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:49,616 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:37:49,617 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:37:49,617 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:37:49,617 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 23:37:49,617 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:37:49,617 INFO L130 BoogieDeclarations]: Found specification of procedure max [2022-02-20 23:37:49,617 INFO L138 BoogieDeclarations]: Found implementation of procedure max [2022-02-20 23:37:49,617 INFO L130 BoogieDeclarations]: Found specification of procedure nondet_tree [2022-02-20 23:37:49,618 INFO L138 BoogieDeclarations]: Found implementation of procedure nondet_tree [2022-02-20 23:37:49,618 INFO L130 BoogieDeclarations]: Found specification of procedure check [2022-02-20 23:37:49,618 INFO L138 BoogieDeclarations]: Found implementation of procedure check [2022-02-20 23:37:49,618 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:37:49,618 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:37:49,618 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:37:49,618 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:37:49,671 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:37:49,673 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:37:49,912 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:37:49,918 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:37:49,919 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 23:37:49,920 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:49 BoogieIcfgContainer [2022-02-20 23:37:49,921 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:37:49,922 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:37:49,922 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:37:49,924 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:37:49,924 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:37:49" (1/3) ... [2022-02-20 23:37:49,924 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@d4a3b31 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:49, skipping insertion in model container [2022-02-20 23:37:49,925 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:49" (2/3) ... [2022-02-20 23:37:49,925 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@d4a3b31 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:49, skipping insertion in model container [2022-02-20 23:37:49,925 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:49" (3/3) ... [2022-02-20 23:37:49,926 INFO L111 eAbstractionObserver]: Analyzing ICFG tree_max.c [2022-02-20 23:37:49,929 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:37:49,929 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 20 error locations. [2022-02-20 23:37:49,963 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:37:49,967 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:49,967 INFO L340 AbstractCegarLoop]: Starting to check reachability of 20 error locations. [2022-02-20 23:37:49,979 INFO L276 IsEmpty]: Start isEmpty. Operand has 72 states, 39 states have (on average 1.6923076923076923) internal successors, (66), 59 states have internal predecessors, (66), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:37:49,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:37:49,984 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:49,984 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:37:49,985 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting nondet_treeErr0REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:37:49,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:49,988 INFO L85 PathProgramCache]: Analyzing trace with hash 73597257, now seen corresponding path program 1 times [2022-02-20 23:37:49,996 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:49,996 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [975193471] [2022-02-20 23:37:49,996 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:49,997 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:49,997 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:50,013 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:50,015 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:50,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:50,093 INFO L263 TraceCheckSpWp]: Trace formula consists of 36 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:37:50,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:50,115 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:50,176 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:50,187 INFO L290 TraceCheckUtils]: 0: Hoare triple {75#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {75#true} is VALID [2022-02-20 23:37:50,187 INFO L290 TraceCheckUtils]: 1: Hoare triple {75#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {75#true} is VALID [2022-02-20 23:37:50,187 INFO L272 TraceCheckUtils]: 2: Hoare triple {75#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {75#true} is VALID [2022-02-20 23:37:50,189 INFO L290 TraceCheckUtils]: 3: Hoare triple {75#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; {89#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:50,189 INFO L290 TraceCheckUtils]: 4: Hoare triple {89#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {76#false} is VALID [2022-02-20 23:37:50,190 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:50,190 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:50,190 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:50,191 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [975193471] [2022-02-20 23:37:50,191 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [975193471] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:50,192 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:50,192 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:37:50,194 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1426607672] [2022-02-20 23:37:50,195 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:50,199 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:50,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:50,201 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:50,208 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:50,208 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:50,208 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:50,236 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:50,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:50,240 INFO L87 Difference]: Start difference. First operand has 72 states, 39 states have (on average 1.6923076923076923) internal successors, (66), 59 states have internal predecessors, (66), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) 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:50,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:50,519 INFO L93 Difference]: Finished difference Result 73 states and 86 transitions. [2022-02-20 23:37:50,519 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:50,520 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:50,520 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:50,521 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:50,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-02-20 23:37:50,535 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:50,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-02-20 23:37:50,541 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-02-20 23:37:50,648 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:50,660 INFO L225 Difference]: With dead ends: 73 [2022-02-20 23:37:50,661 INFO L226 Difference]: Without dead ends: 71 [2022-02-20 23:37:50,663 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:50,667 INFO L933 BasicCegarLoop]: 83 mSDtfsCounter, 6 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:50,668 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 133 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:50,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-02-20 23:37:50,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 69. [2022-02-20 23:37:50,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:50,697 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 69 states, 38 states have (on average 1.631578947368421) internal successors, (62), 56 states have internal predecessors, (62), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:37:50,698 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 69 states, 38 states have (on average 1.631578947368421) internal successors, (62), 56 states have internal predecessors, (62), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:37:50,699 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 69 states, 38 states have (on average 1.631578947368421) internal successors, (62), 56 states have internal predecessors, (62), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:37:50,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:50,711 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-02-20 23:37:50,712 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-02-20 23:37:50,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:50,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:50,715 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 38 states have (on average 1.631578947368421) internal successors, (62), 56 states have internal predecessors, (62), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 71 states. [2022-02-20 23:37:50,717 INFO L87 Difference]: Start difference. First operand has 69 states, 38 states have (on average 1.631578947368421) internal successors, (62), 56 states have internal predecessors, (62), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 71 states. [2022-02-20 23:37:50,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:50,727 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-02-20 23:37:50,727 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-02-20 23:37:50,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:50,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:50,734 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:50,734 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:50,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 38 states have (on average 1.631578947368421) internal successors, (62), 56 states have internal predecessors, (62), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:37:50,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 80 transitions. [2022-02-20 23:37:50,740 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 80 transitions. Word has length 5 [2022-02-20 23:37:50,740 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:50,741 INFO L470 AbstractCegarLoop]: Abstraction has 69 states and 80 transitions. [2022-02-20 23:37:50,741 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:50,741 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 80 transitions. [2022-02-20 23:37:50,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:37:50,741 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:50,744 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:37:50,762 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:50,954 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:50,954 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting nondet_treeErr1REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:37:50,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:50,956 INFO L85 PathProgramCache]: Analyzing trace with hash 73597258, now seen corresponding path program 1 times [2022-02-20 23:37:50,957 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:50,957 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [34088057] [2022-02-20 23:37:50,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:50,958 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:50,958 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:50,973 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:51,011 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:51,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:51,035 INFO L263 TraceCheckSpWp]: Trace formula consists of 36 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:37:51,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:51,043 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:51,061 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:51,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {376#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {376#true} is VALID [2022-02-20 23:37:51,070 INFO L290 TraceCheckUtils]: 1: Hoare triple {376#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {376#true} is VALID [2022-02-20 23:37:51,070 INFO L272 TraceCheckUtils]: 2: Hoare triple {376#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {376#true} is VALID [2022-02-20 23:37:51,071 INFO L290 TraceCheckUtils]: 3: Hoare triple {376#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; {390#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:51,072 INFO L290 TraceCheckUtils]: 4: Hoare triple {390#(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)); {377#false} is VALID [2022-02-20 23:37:51,072 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:51,072 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:51,072 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:51,072 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [34088057] [2022-02-20 23:37:51,072 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [34088057] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:51,072 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:51,073 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:37:51,073 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1438267102] [2022-02-20 23:37:51,073 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:51,074 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:37:51,074 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:51,074 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:51,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:51,079 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:51,079 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:51,080 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:51,080 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:51,080 INFO L87 Difference]: Start difference. First operand 69 states and 80 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:51,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:51,282 INFO L93 Difference]: Finished difference Result 68 states and 79 transitions. [2022-02-20 23:37:51,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:51,282 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:37:51,282 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:51,282 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:51,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2022-02-20 23:37:51,285 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:51,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2022-02-20 23:37:51,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 80 transitions. [2022-02-20 23:37:51,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:51,362 INFO L225 Difference]: With dead ends: 68 [2022-02-20 23:37:51,362 INFO L226 Difference]: Without dead ends: 68 [2022-02-20 23:37:51,363 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:51,363 INFO L933 BasicCegarLoop]: 78 mSDtfsCounter, 2 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:51,364 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 132 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:37:51,364 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-02-20 23:37:51,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 68. [2022-02-20 23:37:51,367 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:51,368 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 68 states, 38 states have (on average 1.605263157894737) internal successors, (61), 55 states have internal predecessors, (61), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:37:51,368 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 68 states, 38 states have (on average 1.605263157894737) internal successors, (61), 55 states have internal predecessors, (61), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:37:51,368 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 68 states, 38 states have (on average 1.605263157894737) internal successors, (61), 55 states have internal predecessors, (61), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:37:51,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:51,371 INFO L93 Difference]: Finished difference Result 68 states and 79 transitions. [2022-02-20 23:37:51,371 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 79 transitions. [2022-02-20 23:37:51,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:51,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:51,372 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 38 states have (on average 1.605263157894737) internal successors, (61), 55 states have internal predecessors, (61), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-02-20 23:37:51,372 INFO L87 Difference]: Start difference. First operand has 68 states, 38 states have (on average 1.605263157894737) internal successors, (61), 55 states have internal predecessors, (61), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-02-20 23:37:51,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:51,379 INFO L93 Difference]: Finished difference Result 68 states and 79 transitions. [2022-02-20 23:37:51,379 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 79 transitions. [2022-02-20 23:37:51,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:51,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:51,380 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:51,380 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:51,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 38 states have (on average 1.605263157894737) internal successors, (61), 55 states have internal predecessors, (61), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:37:51,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 79 transitions. [2022-02-20 23:37:51,382 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 79 transitions. Word has length 5 [2022-02-20 23:37:51,383 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:51,383 INFO L470 AbstractCegarLoop]: Abstraction has 68 states and 79 transitions. [2022-02-20 23:37:51,383 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:51,383 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 79 transitions. [2022-02-20 23:37:51,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:37:51,384 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:51,384 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:51,391 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Ended with exit code 0 [2022-02-20 23:37:51,590 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:51,591 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting maxErr0REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:37:51,591 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:51,592 INFO L85 PathProgramCache]: Analyzing trace with hash -345289291, now seen corresponding path program 1 times [2022-02-20 23:37:51,592 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:51,592 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1911924374] [2022-02-20 23:37:51,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:51,593 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:51,593 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:51,594 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:51,597 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:51,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:51,623 INFO L263 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:37:51,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:51,632 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:51,789 INFO L290 TraceCheckUtils]: 0: Hoare triple {665#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {665#true} is VALID [2022-02-20 23:37:51,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {665#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {665#true} is VALID [2022-02-20 23:37:51,790 INFO L272 TraceCheckUtils]: 2: Hoare triple {665#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {665#true} is VALID [2022-02-20 23:37:51,790 INFO L290 TraceCheckUtils]: 3: Hoare triple {665#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {679#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:51,794 INFO L290 TraceCheckUtils]: 4: Hoare triple {679#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {679#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:51,795 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {679#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {665#true} #107#return; {686#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret20#1.offset|) (= |ULTIMATE.start_main_#t~ret20#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:51,799 INFO L290 TraceCheckUtils]: 6: Hoare triple {686#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret20#1.offset|) (= |ULTIMATE.start_main_#t~ret20#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {690#(and (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:51,800 INFO L272 TraceCheckUtils]: 7: Hoare triple {690#(and (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {694#(and (= |max_#in~n.base| (_ bv0 32)) (= |max_#in~n.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:51,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {694#(and (= |max_#in~n.base| (_ bv0 32)) (= |max_#in~n.offset| (_ bv0 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {698#(and (= (_ bv0 32) max_~n.offset) (= (_ bv0 32) max_~n.base))} is VALID [2022-02-20 23:37:51,801 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#(and (= (_ bv0 32) max_~n.offset) (= (_ bv0 32) max_~n.base))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {666#false} is VALID [2022-02-20 23:37:51,801 INFO L290 TraceCheckUtils]: 10: Hoare triple {666#false} assume !(1bv1 == #valid[~n.base]); {666#false} is VALID [2022-02-20 23:37:51,801 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:51,801 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:51,802 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:51,802 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1911924374] [2022-02-20 23:37:51,802 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1911924374] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:51,802 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:51,802 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:37:51,802 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1251699719] [2022-02-20 23:37:51,802 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:51,803 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:51,803 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:51,803 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:51,817 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:51,817 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:37:51,818 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:51,818 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:37:51,818 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:37:51,818 INFO L87 Difference]: Start difference. First operand 68 states and 79 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:52,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,429 INFO L93 Difference]: Finished difference Result 83 states and 98 transitions. [2022-02-20 23:37:52,429 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:37:52,429 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:52,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:52,429 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:52,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 99 transitions. [2022-02-20 23:37:52,431 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:52,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 99 transitions. [2022-02-20 23:37:52,432 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 99 transitions. [2022-02-20 23:37:52,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:52,517 INFO L225 Difference]: With dead ends: 83 [2022-02-20 23:37:52,517 INFO L226 Difference]: Without dead ends: 83 [2022-02-20 23:37:52,518 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:37:52,518 INFO L933 BasicCegarLoop]: 77 mSDtfsCounter, 11 mSDsluCounter, 367 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 444 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:52,518 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 444 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:52,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-02-20 23:37:52,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 76. [2022-02-20 23:37:52,523 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:52,523 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 76 states, 43 states have (on average 1.5348837209302326) internal successors, (66), 61 states have internal predecessors, (66), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 10 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:52,524 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 76 states, 43 states have (on average 1.5348837209302326) internal successors, (66), 61 states have internal predecessors, (66), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 10 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:52,524 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 76 states, 43 states have (on average 1.5348837209302326) internal successors, (66), 61 states have internal predecessors, (66), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 10 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:52,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,527 INFO L93 Difference]: Finished difference Result 83 states and 98 transitions. [2022-02-20 23:37:52,527 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 98 transitions. [2022-02-20 23:37:52,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:52,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:52,528 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 43 states have (on average 1.5348837209302326) internal successors, (66), 61 states have internal predecessors, (66), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 10 states have call predecessors, (13), 10 states have call successors, (13) Second operand 83 states. [2022-02-20 23:37:52,528 INFO L87 Difference]: Start difference. First operand has 76 states, 43 states have (on average 1.5348837209302326) internal successors, (66), 61 states have internal predecessors, (66), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 10 states have call predecessors, (13), 10 states have call successors, (13) Second operand 83 states. [2022-02-20 23:37:52,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,531 INFO L93 Difference]: Finished difference Result 83 states and 98 transitions. [2022-02-20 23:37:52,531 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 98 transitions. [2022-02-20 23:37:52,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:52,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:52,532 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:52,532 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:52,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 43 states have (on average 1.5348837209302326) internal successors, (66), 61 states have internal predecessors, (66), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 10 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:52,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 89 transitions. [2022-02-20 23:37:52,534 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 89 transitions. Word has length 11 [2022-02-20 23:37:52,534 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:52,534 INFO L470 AbstractCegarLoop]: Abstraction has 76 states and 89 transitions. [2022-02-20 23:37:52,535 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:52,535 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 89 transitions. [2022-02-20 23:37:52,535 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:37:52,535 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:52,535 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:52,554 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:52,741 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:52,742 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting nondet_treeErr2REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:37:52,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:52,742 INFO L85 PathProgramCache]: Analyzing trace with hash -159104294, now seen corresponding path program 1 times [2022-02-20 23:37:52,743 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:52,743 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [736663848] [2022-02-20 23:37:52,743 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:52,743 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:52,743 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:52,744 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:52,746 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:52,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:52,783 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:37:52,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:52,789 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:52,800 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 {1033#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1033#true} is VALID [2022-02-20 23:37:52,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {1033#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {1033#true} is VALID [2022-02-20 23:37:52,838 INFO L272 TraceCheckUtils]: 2: Hoare triple {1033#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {1033#true} is VALID [2022-02-20 23:37:52,839 INFO L290 TraceCheckUtils]: 3: Hoare triple {1033#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; {1047#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:52,839 INFO L290 TraceCheckUtils]: 4: Hoare triple {1047#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {1047#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:52,839 INFO L290 TraceCheckUtils]: 5: Hoare triple {1047#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {1047#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:52,840 INFO L272 TraceCheckUtils]: 6: Hoare triple {1047#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {1057#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:52,840 INFO L290 TraceCheckUtils]: 7: Hoare triple {1057#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1057#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:52,841 INFO L290 TraceCheckUtils]: 8: Hoare triple {1057#(= |old(#valid)| |#valid|)} assume true; {1057#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:52,841 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1057#(= |old(#valid)| |#valid|)} {1047#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #103#return; {1047#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:52,842 INFO L290 TraceCheckUtils]: 10: Hoare triple {1047#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {1034#false} is VALID [2022-02-20 23:37:52,842 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:52,842 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:52,842 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:52,842 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [736663848] [2022-02-20 23:37:52,843 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [736663848] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:52,843 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:52,843 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:52,843 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1166350040] [2022-02-20 23:37:52,843 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:52,843 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:52,844 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:52,844 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:52,853 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:52,853 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:37:52,853 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:52,854 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:37:52,854 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:52,854 INFO L87 Difference]: Start difference. First operand 76 states and 89 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:53,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,202 INFO L93 Difference]: Finished difference Result 80 states and 93 transitions. [2022-02-20 23:37:53,202 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:37:53,202 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:53,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:53,202 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:53,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 89 transitions. [2022-02-20 23:37:53,204 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:53,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 89 transitions. [2022-02-20 23:37:53,206 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 89 transitions. [2022-02-20 23:37:53,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:53,273 INFO L225 Difference]: With dead ends: 80 [2022-02-20 23:37:53,274 INFO L226 Difference]: Without dead ends: 80 [2022-02-20 23:37:53,274 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:53,274 INFO L933 BasicCegarLoop]: 58 mSDtfsCounter, 49 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:53,275 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 72 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:53,275 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-02-20 23:37:53,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 78. [2022-02-20 23:37:53,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:53,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 78 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 61 states have internal predecessors, (70), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:53,279 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 78 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 61 states have internal predecessors, (70), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:53,280 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 78 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 61 states have internal predecessors, (70), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:53,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,282 INFO L93 Difference]: Finished difference Result 80 states and 93 transitions. [2022-02-20 23:37:53,282 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 93 transitions. [2022-02-20 23:37:53,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,283 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 61 states have internal predecessors, (70), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) Second operand 80 states. [2022-02-20 23:37:53,284 INFO L87 Difference]: Start difference. First operand has 78 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 61 states have internal predecessors, (70), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) Second operand 80 states. [2022-02-20 23:37:53,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,297 INFO L93 Difference]: Finished difference Result 80 states and 93 transitions. [2022-02-20 23:37:53,297 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 93 transitions. [2022-02-20 23:37:53,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,298 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:53,298 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:53,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 45 states have (on average 1.5555555555555556) internal successors, (70), 61 states have internal predecessors, (70), 10 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:53,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 93 transitions. [2022-02-20 23:37:53,313 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 93 transitions. Word has length 11 [2022-02-20 23:37:53,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:53,314 INFO L470 AbstractCegarLoop]: Abstraction has 78 states and 93 transitions. [2022-02-20 23:37:53,314 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:53,314 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 93 transitions. [2022-02-20 23:37:53,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:37:53,315 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:53,315 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:53,321 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:53,521 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:53,521 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting nondet_treeErr3REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:37:53,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:53,521 INFO L85 PathProgramCache]: Analyzing trace with hash -159104293, now seen corresponding path program 1 times [2022-02-20 23:37:53,522 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:53,522 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1483266779] [2022-02-20 23:37:53,522 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:53,522 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:53,522 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:53,523 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:53,525 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:53,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,576 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:37:53,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,587 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:53,616 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:53,669 INFO L290 TraceCheckUtils]: 0: Hoare triple {1387#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1387#true} is VALID [2022-02-20 23:37:53,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {1387#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {1387#true} is VALID [2022-02-20 23:37:53,669 INFO L272 TraceCheckUtils]: 2: Hoare triple {1387#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {1387#true} is VALID [2022-02-20 23:37:53,670 INFO L290 TraceCheckUtils]: 3: Hoare triple {1387#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; {1401#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:53,671 INFO L290 TraceCheckUtils]: 4: Hoare triple {1401#(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: L28 {1401#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:53,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {1401#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~nondet7; {1401#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:53,673 INFO L272 TraceCheckUtils]: 6: Hoare triple {1401#(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(); {1411#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:37:53,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {1411#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1411#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:37:53,673 INFO L290 TraceCheckUtils]: 8: Hoare triple {1411#(= |#length| |old(#length)|)} assume true; {1411#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:37:53,674 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1411#(= |#length| |old(#length)|)} {1401#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #103#return; {1401#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:53,674 INFO L290 TraceCheckUtils]: 10: Hoare triple {1401#(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))); {1388#false} is VALID [2022-02-20 23:37:53,675 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:53,675 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:53,675 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:53,675 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1483266779] [2022-02-20 23:37:53,675 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1483266779] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:53,675 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:53,675 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:53,675 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [696831959] [2022-02-20 23:37:53,675 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:53,676 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:53,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:53,676 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:53,686 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:53,686 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:37:53,687 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:53,687 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:37:53,687 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:53,688 INFO L87 Difference]: Start difference. First operand 78 states and 93 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:54,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:54,018 INFO L93 Difference]: Finished difference Result 84 states and 103 transitions. [2022-02-20 23:37:54,018 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:37:54,018 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:54,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:54,018 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:54,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 97 transitions. [2022-02-20 23:37:54,020 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:54,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 97 transitions. [2022-02-20 23:37:54,021 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 97 transitions. [2022-02-20 23:37:54,091 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:54,092 INFO L225 Difference]: With dead ends: 84 [2022-02-20 23:37:54,092 INFO L226 Difference]: Without dead ends: 84 [2022-02-20 23:37:54,092 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:54,093 INFO L933 BasicCegarLoop]: 62 mSDtfsCounter, 47 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:54,093 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 83 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:54,093 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-02-20 23:37:54,096 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 81. [2022-02-20 23:37:54,096 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:54,097 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 81 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 63 states have internal predecessors, (71), 11 states have call successors, (11), 4 states have call predecessors, (11), 5 states have return successors, (15), 13 states have call predecessors, (15), 11 states have call successors, (15) [2022-02-20 23:37:54,097 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 81 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 63 states have internal predecessors, (71), 11 states have call successors, (11), 4 states have call predecessors, (11), 5 states have return successors, (15), 13 states have call predecessors, (15), 11 states have call successors, (15) [2022-02-20 23:37:54,097 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 81 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 63 states have internal predecessors, (71), 11 states have call successors, (11), 4 states have call predecessors, (11), 5 states have return successors, (15), 13 states have call predecessors, (15), 11 states have call successors, (15) [2022-02-20 23:37:54,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:54,103 INFO L93 Difference]: Finished difference Result 84 states and 103 transitions. [2022-02-20 23:37:54,103 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 103 transitions. [2022-02-20 23:37:54,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:54,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:54,104 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 63 states have internal predecessors, (71), 11 states have call successors, (11), 4 states have call predecessors, (11), 5 states have return successors, (15), 13 states have call predecessors, (15), 11 states have call successors, (15) Second operand 84 states. [2022-02-20 23:37:54,104 INFO L87 Difference]: Start difference. First operand has 81 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 63 states have internal predecessors, (71), 11 states have call successors, (11), 4 states have call predecessors, (11), 5 states have return successors, (15), 13 states have call predecessors, (15), 11 states have call successors, (15) Second operand 84 states. [2022-02-20 23:37:54,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:54,114 INFO L93 Difference]: Finished difference Result 84 states and 103 transitions. [2022-02-20 23:37:54,115 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 103 transitions. [2022-02-20 23:37:54,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:54,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:54,116 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:54,116 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:54,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 47 states have (on average 1.5106382978723405) internal successors, (71), 63 states have internal predecessors, (71), 11 states have call successors, (11), 4 states have call predecessors, (11), 5 states have return successors, (15), 13 states have call predecessors, (15), 11 states have call successors, (15) [2022-02-20 23:37:54,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 97 transitions. [2022-02-20 23:37:54,119 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 97 transitions. Word has length 11 [2022-02-20 23:37:54,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:54,120 INFO L470 AbstractCegarLoop]: Abstraction has 81 states and 97 transitions. [2022-02-20 23:37:54,120 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:54,120 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 97 transitions. [2022-02-20 23:37:54,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:37:54,121 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:54,121 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:54,129 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:54,327 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:54,328 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting checkErr0REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:37:54,328 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:54,328 INFO L85 PathProgramCache]: Analyzing trace with hash -1041946460, now seen corresponding path program 1 times [2022-02-20 23:37:54,328 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:54,328 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [253371629] [2022-02-20 23:37:54,329 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:54,329 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:54,329 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:54,330 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:54,331 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2022-02-20 23:37:54,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:54,360 INFO L263 TraceCheckSpWp]: Trace formula consists of 58 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:37:54,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:54,366 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:54,468 INFO L290 TraceCheckUtils]: 0: Hoare triple {1756#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {1756#true} is VALID [2022-02-20 23:37:54,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {1756#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {1756#true} is VALID [2022-02-20 23:37:54,468 INFO L272 TraceCheckUtils]: 2: Hoare triple {1756#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {1756#true} is VALID [2022-02-20 23:37:54,469 INFO L290 TraceCheckUtils]: 3: Hoare triple {1756#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {1770#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,469 INFO L290 TraceCheckUtils]: 4: Hoare triple {1770#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {1770#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,470 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1770#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {1756#true} #107#return; {1777#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret20#1.offset|) (= |ULTIMATE.start_main_#t~ret20#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,470 INFO L290 TraceCheckUtils]: 6: Hoare triple {1777#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret20#1.offset|) (= |ULTIMATE.start_main_#t~ret20#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {1781#(and (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,471 INFO L272 TraceCheckUtils]: 7: Hoare triple {1781#(and (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {1756#true} is VALID [2022-02-20 23:37:54,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {1756#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {1756#true} is VALID [2022-02-20 23:37:54,471 INFO L290 TraceCheckUtils]: 9: Hoare triple {1756#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483648bv32; {1756#true} is VALID [2022-02-20 23:37:54,471 INFO L290 TraceCheckUtils]: 10: Hoare triple {1756#true} assume true; {1756#true} is VALID [2022-02-20 23:37:54,473 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1756#true} {1781#(and (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} #109#return; {1781#(and (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,474 INFO L290 TraceCheckUtils]: 12: Hoare triple {1781#(and (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} task_~a~1#1 := task_#t~ret19#1;havoc task_#t~ret19#1; {1781#(and (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,475 INFO L272 TraceCheckUtils]: 13: Hoare triple {1781#(and (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} call check(task_~n#1.base, task_~n#1.offset, task_~a~1#1); {1803#(and (= |check_#in~n#1.base| (_ bv0 32)) (= |check_#in~n#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:54,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {1803#(and (= |check_#in~n#1.base| (_ bv0 32)) (= |check_#in~n#1.offset| (_ bv0 32)))} ~n#1.base, ~n#1.offset := #in~n#1.base, #in~n#1.offset;~a#1 := #in~a#1; {1807#(and (= |check_~n#1.base| (_ bv0 32)) (= (_ bv0 32) |check_~n#1.offset|))} is VALID [2022-02-20 23:37:54,476 INFO L290 TraceCheckUtils]: 15: Hoare triple {1807#(and (= |check_~n#1.base| (_ bv0 32)) (= (_ bv0 32) |check_~n#1.offset|))} assume ~n#1.base != 0bv32 || ~n#1.offset != 0bv32; {1757#false} is VALID [2022-02-20 23:37:54,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {1757#false} assume !(1bv1 == #valid[~n#1.base]); {1757#false} is VALID [2022-02-20 23:37:54,476 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,476 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:54,476 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:54,476 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [253371629] [2022-02-20 23:37:54,476 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [253371629] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:54,477 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:54,477 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:37:54,477 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [325043772] [2022-02-20 23:37:54,477 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:54,477 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:37:54,477 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:54,478 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:37:54,490 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:37:54,490 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:37:54,491 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:54,491 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:37:54,491 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:37:54,491 INFO L87 Difference]: Start difference. First operand 81 states and 97 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:37:55,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:55,019 INFO L93 Difference]: Finished difference Result 92 states and 109 transitions. [2022-02-20 23:37:55,019 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:37:55,019 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:37:55,019 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:55,020 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:37:55,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 99 transitions. [2022-02-20 23:37:55,033 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:37:55,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 99 transitions. [2022-02-20 23:37:55,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 99 transitions. [2022-02-20 23:37:55,128 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:55,129 INFO L225 Difference]: With dead ends: 92 [2022-02-20 23:37:55,129 INFO L226 Difference]: Without dead ends: 92 [2022-02-20 23:37:55,129 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:37:55,130 INFO L933 BasicCegarLoop]: 77 mSDtfsCounter, 10 mSDsluCounter, 367 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 444 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:55,130 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 444 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:37:55,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-02-20 23:37:55,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 87. [2022-02-20 23:37:55,134 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:55,134 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 87 states, 51 states have (on average 1.4705882352941178) internal successors, (75), 67 states have internal predecessors, (75), 12 states have call successors, (12), 5 states have call predecessors, (12), 6 states have return successors, (16), 14 states have call predecessors, (16), 12 states have call successors, (16) [2022-02-20 23:37:55,134 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 87 states, 51 states have (on average 1.4705882352941178) internal successors, (75), 67 states have internal predecessors, (75), 12 states have call successors, (12), 5 states have call predecessors, (12), 6 states have return successors, (16), 14 states have call predecessors, (16), 12 states have call successors, (16) [2022-02-20 23:37:55,135 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 87 states, 51 states have (on average 1.4705882352941178) internal successors, (75), 67 states have internal predecessors, (75), 12 states have call successors, (12), 5 states have call predecessors, (12), 6 states have return successors, (16), 14 states have call predecessors, (16), 12 states have call successors, (16) [2022-02-20 23:37:55,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:55,137 INFO L93 Difference]: Finished difference Result 92 states and 109 transitions. [2022-02-20 23:37:55,137 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 109 transitions. [2022-02-20 23:37:55,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:55,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:55,138 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 51 states have (on average 1.4705882352941178) internal successors, (75), 67 states have internal predecessors, (75), 12 states have call successors, (12), 5 states have call predecessors, (12), 6 states have return successors, (16), 14 states have call predecessors, (16), 12 states have call successors, (16) Second operand 92 states. [2022-02-20 23:37:55,138 INFO L87 Difference]: Start difference. First operand has 87 states, 51 states have (on average 1.4705882352941178) internal successors, (75), 67 states have internal predecessors, (75), 12 states have call successors, (12), 5 states have call predecessors, (12), 6 states have return successors, (16), 14 states have call predecessors, (16), 12 states have call successors, (16) Second operand 92 states. [2022-02-20 23:37:55,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:55,141 INFO L93 Difference]: Finished difference Result 92 states and 109 transitions. [2022-02-20 23:37:55,141 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 109 transitions. [2022-02-20 23:37:55,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:55,142 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:55,142 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:55,142 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:55,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 51 states have (on average 1.4705882352941178) internal successors, (75), 67 states have internal predecessors, (75), 12 states have call successors, (12), 5 states have call predecessors, (12), 6 states have return successors, (16), 14 states have call predecessors, (16), 12 states have call successors, (16) [2022-02-20 23:37:55,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 103 transitions. [2022-02-20 23:37:55,144 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 103 transitions. Word has length 17 [2022-02-20 23:37:55,144 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:55,152 INFO L470 AbstractCegarLoop]: Abstraction has 87 states and 103 transitions. [2022-02-20 23:37:55,153 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:37:55,153 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 103 transitions. [2022-02-20 23:37:55,153 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 23:37:55,153 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:55,153 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] [2022-02-20 23:37:55,160 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:55,360 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:55,361 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONMEMORY_LEAK === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:37:55,361 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:55,361 INFO L85 PathProgramCache]: Analyzing trace with hash -868680531, now seen corresponding path program 1 times [2022-02-20 23:37:55,361 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:55,361 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1343789280] [2022-02-20 23:37:55,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:55,362 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:55,362 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:55,363 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:55,368 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2022-02-20 23:37:55,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:55,411 INFO L263 TraceCheckSpWp]: Trace formula consists of 62 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:37:55,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:55,416 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:55,476 INFO L290 TraceCheckUtils]: 0: Hoare triple {2180#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2180#true} is VALID [2022-02-20 23:37:55,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {2180#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:37:55,477 INFO L272 TraceCheckUtils]: 2: Hoare triple {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {2192#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:55,478 INFO L290 TraceCheckUtils]: 3: Hoare triple {2192#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2192#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:55,478 INFO L290 TraceCheckUtils]: 4: Hoare triple {2192#(= |old(#valid)| |#valid|)} assume true; {2192#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:55,480 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {2192#(= |old(#valid)| |#valid|)} {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} #107#return; {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:37:55,480 INFO L290 TraceCheckUtils]: 6: Hoare triple {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:37:55,480 INFO L272 TraceCheckUtils]: 7: Hoare triple {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {2180#true} is VALID [2022-02-20 23:37:55,481 INFO L290 TraceCheckUtils]: 8: Hoare triple {2180#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {2180#true} is VALID [2022-02-20 23:37:55,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {2180#true} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483648bv32; {2180#true} is VALID [2022-02-20 23:37:55,481 INFO L290 TraceCheckUtils]: 10: Hoare triple {2180#true} assume true; {2180#true} is VALID [2022-02-20 23:37:55,482 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {2180#true} {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} #109#return; {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:37:55,482 INFO L290 TraceCheckUtils]: 12: Hoare triple {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} task_~a~1#1 := task_#t~ret19#1;havoc task_#t~ret19#1; {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:37:55,483 INFO L272 TraceCheckUtils]: 13: Hoare triple {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} call check(task_~n#1.base, task_~n#1.offset, task_~a~1#1); {2180#true} is VALID [2022-02-20 23:37:55,483 INFO L290 TraceCheckUtils]: 14: Hoare triple {2180#true} ~n#1.base, ~n#1.offset := #in~n#1.base, #in~n#1.offset;~a#1 := #in~a#1; {2180#true} is VALID [2022-02-20 23:37:55,483 INFO L290 TraceCheckUtils]: 15: Hoare triple {2180#true} assume !(~n#1.base != 0bv32 || ~n#1.offset != 0bv32); {2180#true} is VALID [2022-02-20 23:37:55,483 INFO L290 TraceCheckUtils]: 16: Hoare triple {2180#true} assume true; {2180#true} is VALID [2022-02-20 23:37:55,484 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2180#true} {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} #111#return; {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:37:55,484 INFO L290 TraceCheckUtils]: 18: Hoare triple {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} assume { :end_inline_task } true;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:37:55,485 INFO L290 TraceCheckUtils]: 19: Hoare triple {2188#(= |#valid| |ULTIMATE.start_main_old_#valid#1|)} assume !(#valid == main_old_#valid#1); {2181#false} is VALID [2022-02-20 23:37:55,485 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,485 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:55,485 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:55,485 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1343789280] [2022-02-20 23:37:55,485 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1343789280] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:55,485 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:55,485 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:55,486 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1881641529] [2022-02-20 23:37:55,486 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:55,487 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 20 [2022-02-20 23:37:55,487 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:55,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:37:55,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:55,502 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:37:55,502 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:55,502 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:37:55,502 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:55,503 INFO L87 Difference]: Start difference. First operand 87 states and 103 transitions. Second operand has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:37:55,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:55,835 INFO L93 Difference]: Finished difference Result 89 states and 104 transitions. [2022-02-20 23:37:55,835 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:37:55,835 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 20 [2022-02-20 23:37:55,836 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:55,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:37:55,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-02-20 23:37:55,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:37:55,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-02-20 23:37:55,838 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 91 transitions. [2022-02-20 23:37:55,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:55,924 INFO L225 Difference]: With dead ends: 89 [2022-02-20 23:37:55,924 INFO L226 Difference]: Without dead ends: 75 [2022-02-20 23:37:55,924 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 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:55,925 INFO L933 BasicCegarLoop]: 61 mSDtfsCounter, 42 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 102 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 112 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 102 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:55,925 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 82 Invalid, 112 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 102 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:55,926 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-02-20 23:37:55,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 75. [2022-02-20 23:37:55,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:55,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 75 states, 43 states have (on average 1.558139534883721) internal successors, (67), 59 states have internal predecessors, (67), 10 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:55,931 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 75 states, 43 states have (on average 1.558139534883721) internal successors, (67), 59 states have internal predecessors, (67), 10 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:55,931 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 75 states, 43 states have (on average 1.558139534883721) internal successors, (67), 59 states have internal predecessors, (67), 10 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:55,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:55,933 INFO L93 Difference]: Finished difference Result 75 states and 90 transitions. [2022-02-20 23:37:55,933 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 90 transitions. [2022-02-20 23:37:55,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:55,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:55,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 43 states have (on average 1.558139534883721) internal successors, (67), 59 states have internal predecessors, (67), 10 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) Second operand 75 states. [2022-02-20 23:37:55,934 INFO L87 Difference]: Start difference. First operand has 75 states, 43 states have (on average 1.558139534883721) internal successors, (67), 59 states have internal predecessors, (67), 10 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) Second operand 75 states. [2022-02-20 23:37:55,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:55,943 INFO L93 Difference]: Finished difference Result 75 states and 90 transitions. [2022-02-20 23:37:55,943 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 90 transitions. [2022-02-20 23:37:55,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:55,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:55,944 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:55,944 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:55,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 43 states have (on average 1.558139534883721) internal successors, (67), 59 states have internal predecessors, (67), 10 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (13), 12 states have call predecessors, (13), 10 states have call successors, (13) [2022-02-20 23:37:55,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 90 transitions. [2022-02-20 23:37:55,946 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 90 transitions. Word has length 20 [2022-02-20 23:37:55,946 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:55,951 INFO L470 AbstractCegarLoop]: Abstraction has 75 states and 90 transitions. [2022-02-20 23:37:55,951 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 4.666666666666667) internal successors, (14), 4 states have internal predecessors, (14), 1 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:37:55,951 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 90 transitions. [2022-02-20 23:37:55,951 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:37:55,951 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:55,952 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:37:55,959 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Ended with exit code 0 [2022-02-20 23:37:56,157 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:56,158 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting nondet_treeErr2REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:37:56,158 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:56,159 INFO L85 PathProgramCache]: Analyzing trace with hash -360622958, now seen corresponding path program 1 times [2022-02-20 23:37:56,159 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:56,166 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [785579068] [2022-02-20 23:37:56,166 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:56,166 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:56,166 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:56,167 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:56,169 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2022-02-20 23:37:56,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,314 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:37:56,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,326 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:56,343 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:56,532 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:37:56,532 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:37:56,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {2557#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2557#true} is VALID [2022-02-20 23:37:56,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {2557#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {2557#true} is VALID [2022-02-20 23:37:56,545 INFO L272 TraceCheckUtils]: 2: Hoare triple {2557#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {2557#true} is VALID [2022-02-20 23:37:56,545 INFO L290 TraceCheckUtils]: 3: Hoare triple {2557#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; {2557#true} is VALID [2022-02-20 23:37:56,545 INFO L290 TraceCheckUtils]: 4: Hoare triple {2557#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {2557#true} is VALID [2022-02-20 23:37:56,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {2557#true} havoc #t~nondet7; {2557#true} is VALID [2022-02-20 23:37:56,545 INFO L272 TraceCheckUtils]: 6: Hoare triple {2557#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2557#true} is VALID [2022-02-20 23:37:56,546 INFO L290 TraceCheckUtils]: 7: Hoare triple {2557#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; {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:56,546 INFO L290 TraceCheckUtils]: 8: Hoare triple {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:56,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:56,547 INFO L272 TraceCheckUtils]: 10: Hoare triple {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,548 INFO L290 TraceCheckUtils]: 11: Hoare triple {2593#(= |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; {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,551 INFO L290 TraceCheckUtils]: 12: Hoare triple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,551 INFO L290 TraceCheckUtils]: 13: Hoare triple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} havoc #t~nondet7; {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,552 INFO L272 TraceCheckUtils]: 14: Hoare triple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {2593#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,553 INFO L290 TraceCheckUtils]: 16: Hoare triple {2593#(= |old(#valid)| |#valid|)} assume true; {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,553 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2593#(= |old(#valid)| |#valid|)} {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} #103#return; {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L29-1 {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} havoc #t~ret8.base, #t~ret8.offset; {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,556 INFO L272 TraceCheckUtils]: 20: Hoare triple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,556 INFO L290 TraceCheckUtils]: 21: Hoare triple {2593#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,557 INFO L290 TraceCheckUtils]: 22: Hoare triple {2593#(= |old(#valid)| |#valid|)} assume true; {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:56,558 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2593#(= |old(#valid)| |#valid|)} {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} #105#return; {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,559 INFO L290 TraceCheckUtils]: 24: Hoare triple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,560 INFO L290 TraceCheckUtils]: 25: Hoare triple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,560 INFO L290 TraceCheckUtils]: 26: Hoare triple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} assume true; {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} is VALID [2022-02-20 23:37:56,561 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2597#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_107 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_107) |#valid|))))} {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #103#return; {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:56,562 INFO L290 TraceCheckUtils]: 28: Hoare triple {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {2558#false} is VALID [2022-02-20 23:37:56,562 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:37:56,562 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:56,749 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:56,749 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [785579068] [2022-02-20 23:37:56,749 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [785579068] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:56,750 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [25051112] [2022-02-20 23:37:56,750 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:56,750 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:37:56,750 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:37:56,752 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:37:56,770 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (10)] Waiting until timeout for monitored process [2022-02-20 23:37:56,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:37:56,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,905 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:56,923 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:59,067 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:37:59,067 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:37:59,073 INFO L290 TraceCheckUtils]: 0: Hoare triple {2557#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {2557#true} is VALID [2022-02-20 23:37:59,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {2557#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {2557#true} is VALID [2022-02-20 23:37:59,073 INFO L272 TraceCheckUtils]: 2: Hoare triple {2557#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {2557#true} is VALID [2022-02-20 23:37:59,074 INFO L290 TraceCheckUtils]: 3: Hoare triple {2557#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; {2557#true} is VALID [2022-02-20 23:37:59,074 INFO L290 TraceCheckUtils]: 4: Hoare triple {2557#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {2557#true} is VALID [2022-02-20 23:37:59,074 INFO L290 TraceCheckUtils]: 5: Hoare triple {2557#true} havoc #t~nondet7; {2557#true} is VALID [2022-02-20 23:37:59,074 INFO L272 TraceCheckUtils]: 6: Hoare triple {2557#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2557#true} is VALID [2022-02-20 23:37:59,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {2557#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; {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:59,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:59,076 INFO L290 TraceCheckUtils]: 9: Hoare triple {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:59,076 INFO L272 TraceCheckUtils]: 10: Hoare triple {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:59,077 INFO L290 TraceCheckUtils]: 11: Hoare triple {2593#(= |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; {2704#(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:37:59,077 INFO L290 TraceCheckUtils]: 12: Hoare triple {2704#(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: L28 {2704#(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:37:59,078 INFO L290 TraceCheckUtils]: 13: Hoare triple {2704#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} havoc #t~nondet7; {2704#(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:37:59,078 INFO L272 TraceCheckUtils]: 14: Hoare triple {2704#(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(); {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:59,079 INFO L290 TraceCheckUtils]: 15: Hoare triple {2593#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:59,079 INFO L290 TraceCheckUtils]: 16: Hoare triple {2593#(= |old(#valid)| |#valid|)} assume true; {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:59,080 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2593#(= |old(#valid)| |#valid|)} {2704#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} #103#return; {2704#(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:37:59,080 INFO L290 TraceCheckUtils]: 18: Hoare triple {2704#(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: L29-1 {2704#(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:37:59,080 INFO L290 TraceCheckUtils]: 19: Hoare triple {2704#(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; {2704#(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:37:59,081 INFO L272 TraceCheckUtils]: 20: Hoare triple {2704#(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(); {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:59,081 INFO L290 TraceCheckUtils]: 21: Hoare triple {2593#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:59,082 INFO L290 TraceCheckUtils]: 22: Hoare triple {2593#(= |old(#valid)| |#valid|)} assume true; {2593#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:37:59,082 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2593#(= |old(#valid)| |#valid|)} {2704#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} #105#return; {2704#(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:37:59,083 INFO L290 TraceCheckUtils]: 24: Hoare triple {2704#(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: L30-1 {2704#(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:37:59,083 INFO L290 TraceCheckUtils]: 25: Hoare triple {2704#(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; {2704#(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:37:59,083 INFO L290 TraceCheckUtils]: 26: Hoare triple {2704#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} assume true; {2704#(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:37:59,084 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2704#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #103#return; {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:37:59,085 INFO L290 TraceCheckUtils]: 28: Hoare triple {2583#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {2558#false} is VALID [2022-02-20 23:37:59,085 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:37:59,085 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:59,230 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [25051112] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:59,230 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:37:59,230 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-02-20 23:37:59,230 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [245783873] [2022-02-20 23:37:59,230 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:59,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:37:59,231 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:59,231 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:37:59,278 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:37:59,279 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:37:59,279 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:59,279 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:37:59,279 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=27, Unknown=1, NotChecked=0, Total=42 [2022-02-20 23:37:59,279 INFO L87 Difference]: Start difference. First operand 75 states and 90 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:05,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:05,638 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-02-20 23:38:05,638 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:38:05,638 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.4) internal successors, (27), 6 states have internal predecessors, (27), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 29 [2022-02-20 23:38:05,639 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:05,639 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:05,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 104 transitions. [2022-02-20 23:38:05,640 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:05,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 104 transitions. [2022-02-20 23:38:05,642 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 104 transitions. [2022-02-20 23:38:05,749 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:05,750 INFO L225 Difference]: With dead ends: 84 [2022-02-20 23:38:05,750 INFO L226 Difference]: Without dead ends: 84 [2022-02-20 23:38:05,750 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:05,750 INFO L933 BasicCegarLoop]: 61 mSDtfsCounter, 46 mSDsluCounter, 35 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 263 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 157 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:05,751 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 96 Invalid, 263 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 96 Invalid, 0 Unknown, 157 Unchecked, 0.1s Time] [2022-02-20 23:38:05,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-02-20 23:38:05,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 79. [2022-02-20 23:38:05,754 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:05,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 79 states, 46 states have (on average 1.5434782608695652) internal successors, (71), 62 states have internal predecessors, (71), 10 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (17), 13 states have call predecessors, (17), 10 states have call successors, (17) [2022-02-20 23:38:05,754 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 79 states, 46 states have (on average 1.5434782608695652) internal successors, (71), 62 states have internal predecessors, (71), 10 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (17), 13 states have call predecessors, (17), 10 states have call successors, (17) [2022-02-20 23:38:05,755 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 79 states, 46 states have (on average 1.5434782608695652) internal successors, (71), 62 states have internal predecessors, (71), 10 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (17), 13 states have call predecessors, (17), 10 states have call successors, (17) [2022-02-20 23:38:05,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:05,759 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-02-20 23:38:05,759 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-02-20 23:38:05,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:05,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:05,765 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 46 states have (on average 1.5434782608695652) internal successors, (71), 62 states have internal predecessors, (71), 10 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (17), 13 states have call predecessors, (17), 10 states have call successors, (17) Second operand 84 states. [2022-02-20 23:38:05,766 INFO L87 Difference]: Start difference. First operand has 79 states, 46 states have (on average 1.5434782608695652) internal successors, (71), 62 states have internal predecessors, (71), 10 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (17), 13 states have call predecessors, (17), 10 states have call successors, (17) Second operand 84 states. [2022-02-20 23:38:05,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:05,768 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-02-20 23:38:05,768 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-02-20 23:38:05,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:05,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:05,768 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:05,768 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:05,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 46 states have (on average 1.5434782608695652) internal successors, (71), 62 states have internal predecessors, (71), 10 states have call successors, (10), 3 states have call predecessors, (10), 5 states have return successors, (17), 13 states have call predecessors, (17), 10 states have call successors, (17) [2022-02-20 23:38:05,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 98 transitions. [2022-02-20 23:38:05,770 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 98 transitions. Word has length 29 [2022-02-20 23:38:05,770 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:05,771 INFO L470 AbstractCegarLoop]: Abstraction has 79 states and 98 transitions. [2022-02-20 23:38:05,775 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:05,775 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 98 transitions. [2022-02-20 23:38:05,776 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:38:05,776 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:05,776 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:05,789 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:05,999 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:06,189 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:06,189 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting nondet_treeErr3REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:38:06,190 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:06,190 INFO L85 PathProgramCache]: Analyzing trace with hash -360622957, now seen corresponding path program 1 times [2022-02-20 23:38:06,190 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:06,190 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [414827649] [2022-02-20 23:38:06,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:06,190 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:06,190 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:06,191 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:38:06,193 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2022-02-20 23:38:06,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:06,352 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:38:06,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:06,369 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:06,393 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:06,397 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:12,690 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:12,691 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:12,698 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:12,699 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:12,718 INFO L290 TraceCheckUtils]: 0: Hoare triple {3111#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3111#true} is VALID [2022-02-20 23:38:12,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {3111#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {3111#true} is VALID [2022-02-20 23:38:12,719 INFO L272 TraceCheckUtils]: 2: Hoare triple {3111#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {3111#true} is VALID [2022-02-20 23:38:12,719 INFO L290 TraceCheckUtils]: 3: Hoare triple {3111#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; {3111#true} is VALID [2022-02-20 23:38:12,719 INFO L290 TraceCheckUtils]: 4: Hoare triple {3111#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {3111#true} is VALID [2022-02-20 23:38:12,719 INFO L290 TraceCheckUtils]: 5: Hoare triple {3111#true} havoc #t~nondet7; {3111#true} is VALID [2022-02-20 23:38:12,719 INFO L272 TraceCheckUtils]: 6: Hoare triple {3111#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {3111#true} is VALID [2022-02-20 23:38:12,720 INFO L290 TraceCheckUtils]: 7: Hoare triple {3111#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; {3137#(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:12,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {3137#(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: L28 {3137#(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:12,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {3137#(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; {3137#(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:12,722 INFO L272 TraceCheckUtils]: 10: Hoare triple {3137#(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(); {3147#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:12,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {3147#(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; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,726 INFO L290 TraceCheckUtils]: 12: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (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: L28 {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,726 INFO L290 TraceCheckUtils]: 13: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~nondet7; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,727 INFO L272 TraceCheckUtils]: 14: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:12,727 INFO L290 TraceCheckUtils]: 15: Hoare triple {3161#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:12,727 INFO L290 TraceCheckUtils]: 16: Hoare triple {3161#(= |#length| |old(#length)|)} assume true; {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:12,728 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3161#(= |#length| |old(#length)|)} {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #103#return; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,730 INFO L290 TraceCheckUtils]: 18: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (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: L29-1 {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,730 INFO L290 TraceCheckUtils]: 19: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~ret8.base, #t~ret8.offset; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,731 INFO L272 TraceCheckUtils]: 20: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:12,731 INFO L290 TraceCheckUtils]: 21: Hoare triple {3161#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:12,731 INFO L290 TraceCheckUtils]: 22: Hoare triple {3161#(= |#length| |old(#length)|)} assume true; {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:12,732 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3161#(= |#length| |old(#length)|)} {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #105#return; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,734 INFO L290 TraceCheckUtils]: 24: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (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: L30-1 {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (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; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} assume true; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:12,737 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} {3137#(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)))} #103#return; {3201#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:12,737 INFO L290 TraceCheckUtils]: 28: Hoare triple {3201#(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))); {3112#false} is VALID [2022-02-20 23:38:12,737 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:38:12,737 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:12,957 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:12,957 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [414827649] [2022-02-20 23:38:12,957 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [414827649] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:12,957 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1916124586] [2022-02-20 23:38:12,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:12,957 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:12,957 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:38:12,959 INFO L229 MonitoredProcess]: Starting monitored process 12 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:12,960 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (12)] Waiting until timeout for monitored process [2022-02-20 23:38:13,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:13,113 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:38:13,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:13,130 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:13,150 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:13,153 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:17,400 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:17,401 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:17,409 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:17,409 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:17,418 INFO L290 TraceCheckUtils]: 0: Hoare triple {3111#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3111#true} is VALID [2022-02-20 23:38:17,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {3111#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {3111#true} is VALID [2022-02-20 23:38:17,418 INFO L272 TraceCheckUtils]: 2: Hoare triple {3111#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {3111#true} is VALID [2022-02-20 23:38:17,418 INFO L290 TraceCheckUtils]: 3: Hoare triple {3111#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; {3111#true} is VALID [2022-02-20 23:38:17,418 INFO L290 TraceCheckUtils]: 4: Hoare triple {3111#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {3111#true} is VALID [2022-02-20 23:38:17,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {3111#true} havoc #t~nondet7; {3111#true} is VALID [2022-02-20 23:38:17,418 INFO L272 TraceCheckUtils]: 6: Hoare triple {3111#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {3111#true} is VALID [2022-02-20 23:38:17,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {3111#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; {3137#(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:17,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {3137#(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: L28 {3137#(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:17,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {3137#(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; {3137#(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:17,430 INFO L272 TraceCheckUtils]: 10: Hoare triple {3137#(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(); {3147#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:17,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {3147#(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; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,433 INFO L290 TraceCheckUtils]: 12: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (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: L28 {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,434 INFO L290 TraceCheckUtils]: 13: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~nondet7; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,434 INFO L272 TraceCheckUtils]: 14: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:17,435 INFO L290 TraceCheckUtils]: 15: Hoare triple {3161#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:17,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {3161#(= |#length| |old(#length)|)} assume true; {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:17,436 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3161#(= |#length| |old(#length)|)} {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #103#return; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,437 INFO L290 TraceCheckUtils]: 18: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (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: L29-1 {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,438 INFO L290 TraceCheckUtils]: 19: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~ret8.base, #t~ret8.offset; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,438 INFO L272 TraceCheckUtils]: 20: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:17,439 INFO L290 TraceCheckUtils]: 21: Hoare triple {3161#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:17,439 INFO L290 TraceCheckUtils]: 22: Hoare triple {3161#(= |#length| |old(#length)|)} assume true; {3161#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:17,440 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3161#(= |#length| |old(#length)|)} {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #105#return; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,441 INFO L290 TraceCheckUtils]: 24: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (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: L30-1 {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,442 INFO L290 TraceCheckUtils]: 25: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (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; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,443 INFO L290 TraceCheckUtils]: 26: Hoare triple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} assume true; {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:17,444 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3151#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_242 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_242))) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} {3137#(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)))} #103#return; {3201#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:17,444 INFO L290 TraceCheckUtils]: 28: Hoare triple {3201#(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))); {3112#false} is VALID [2022-02-20 23:38:17,444 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:38:17,445 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:17,630 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1916124586] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:17,630 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:17,630 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2022-02-20 23:38:17,630 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [322254523] [2022-02-20 23:38:17,630 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:17,631 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-02-20 23:38:17,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:17,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:17,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:17,663 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:38:17,663 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:17,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:38:17,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=51, Unknown=1, NotChecked=0, Total=72 [2022-02-20 23:38:17,664 INFO L87 Difference]: Start difference. First operand 79 states and 98 transitions. Second operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:18,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:18,301 INFO L93 Difference]: Finished difference Result 98 states and 130 transitions. [2022-02-20 23:38:18,301 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:38:18,301 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-02-20 23:38:18,302 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:18,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:18,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 120 transitions. [2022-02-20 23:38:18,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:18,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 120 transitions. [2022-02-20 23:38:18,311 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 120 transitions. [2022-02-20 23:38:18,441 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:18,442 INFO L225 Difference]: With dead ends: 98 [2022-02-20 23:38:18,442 INFO L226 Difference]: Without dead ends: 98 [2022-02-20 23:38:18,442 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 48 SyntacticMatches, 6 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 10.2s TimeCoverageRelationStatistics Valid=27, Invalid=62, Unknown=1, NotChecked=0, Total=90 [2022-02-20 23:38:18,443 INFO L933 BasicCegarLoop]: 62 mSDtfsCounter, 57 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 248 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 98 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:18,443 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 112 Invalid, 248 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 132 Invalid, 0 Unknown, 98 Unchecked, 0.2s Time] [2022-02-20 23:38:18,443 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-02-20 23:38:18,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 95. [2022-02-20 23:38:18,446 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:18,447 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 95 states, 57 states have (on average 1.4385964912280702) internal successors, (82), 74 states have internal predecessors, (82), 13 states have call successors, (13), 4 states have call predecessors, (13), 7 states have return successors, (26), 16 states have call predecessors, (26), 13 states have call successors, (26) [2022-02-20 23:38:18,447 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 95 states, 57 states have (on average 1.4385964912280702) internal successors, (82), 74 states have internal predecessors, (82), 13 states have call successors, (13), 4 states have call predecessors, (13), 7 states have return successors, (26), 16 states have call predecessors, (26), 13 states have call successors, (26) [2022-02-20 23:38:18,447 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 95 states, 57 states have (on average 1.4385964912280702) internal successors, (82), 74 states have internal predecessors, (82), 13 states have call successors, (13), 4 states have call predecessors, (13), 7 states have return successors, (26), 16 states have call predecessors, (26), 13 states have call successors, (26) [2022-02-20 23:38:18,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:18,450 INFO L93 Difference]: Finished difference Result 98 states and 130 transitions. [2022-02-20 23:38:18,450 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 130 transitions. [2022-02-20 23:38:18,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:18,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:18,451 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 57 states have (on average 1.4385964912280702) internal successors, (82), 74 states have internal predecessors, (82), 13 states have call successors, (13), 4 states have call predecessors, (13), 7 states have return successors, (26), 16 states have call predecessors, (26), 13 states have call successors, (26) Second operand 98 states. [2022-02-20 23:38:18,451 INFO L87 Difference]: Start difference. First operand has 95 states, 57 states have (on average 1.4385964912280702) internal successors, (82), 74 states have internal predecessors, (82), 13 states have call successors, (13), 4 states have call predecessors, (13), 7 states have return successors, (26), 16 states have call predecessors, (26), 13 states have call successors, (26) Second operand 98 states. [2022-02-20 23:38:18,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:18,454 INFO L93 Difference]: Finished difference Result 98 states and 130 transitions. [2022-02-20 23:38:18,454 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 130 transitions. [2022-02-20 23:38:18,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:18,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:18,454 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:18,455 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:18,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 57 states have (on average 1.4385964912280702) internal successors, (82), 74 states have internal predecessors, (82), 13 states have call successors, (13), 4 states have call predecessors, (13), 7 states have return successors, (26), 16 states have call predecessors, (26), 13 states have call successors, (26) [2022-02-20 23:38:18,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 121 transitions. [2022-02-20 23:38:18,457 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 121 transitions. Word has length 29 [2022-02-20 23:38:18,457 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:18,457 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 121 transitions. [2022-02-20 23:38:18,457 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:18,457 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 121 transitions. [2022-02-20 23:38:18,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:38:18,458 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:18,458 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:18,466 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:18,668 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (12)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:18,868 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3,12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:18,869 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting maxErr0REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:38:18,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:18,869 INFO L85 PathProgramCache]: Analyzing trace with hash -694882647, now seen corresponding path program 1 times [2022-02-20 23:38:18,870 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:18,870 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1280519210] [2022-02-20 23:38:18,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:18,870 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:18,870 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:18,873 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:18,874 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:18,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:18,974 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:38:18,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:18,984 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:18,995 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:19,125 INFO L290 TraceCheckUtils]: 0: Hoare triple {3694#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3694#true} is VALID [2022-02-20 23:38:19,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {3694#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {3694#true} is VALID [2022-02-20 23:38:19,125 INFO L272 TraceCheckUtils]: 2: Hoare triple {3694#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {3694#true} is VALID [2022-02-20 23:38:19,126 INFO L290 TraceCheckUtils]: 3: Hoare triple {3694#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; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,127 INFO L290 TraceCheckUtils]: 4: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,130 INFO L272 TraceCheckUtils]: 6: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {3718#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:19,131 INFO L290 TraceCheckUtils]: 7: Hoare triple {3718#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {3718#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:19,131 INFO L290 TraceCheckUtils]: 8: Hoare triple {3718#(= |old(#valid)| |#valid|)} assume true; {3718#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:19,132 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3718#(= |old(#valid)| |#valid|)} {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #103#return; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,132 INFO L290 TraceCheckUtils]: 10: Hoare triple {3708#(= (_ 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: L29-1 {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret8.base, #t~ret8.offset; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,133 INFO L272 TraceCheckUtils]: 12: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {3718#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:19,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {3718#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {3718#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:19,134 INFO L290 TraceCheckUtils]: 14: Hoare triple {3718#(= |old(#valid)| |#valid|)} assume true; {3718#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:19,134 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3718#(= |old(#valid)| |#valid|)} {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #105#return; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,135 INFO L290 TraceCheckUtils]: 16: Hoare triple {3708#(= (_ 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: L30-1 {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,135 INFO L290 TraceCheckUtils]: 17: Hoare triple {3708#(= (_ 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; {3752#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:19,135 INFO L290 TraceCheckUtils]: 18: Hoare triple {3752#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} assume true; {3752#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:19,136 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3752#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} {3694#true} #107#return; {3759#(= (select |#valid| |ULTIMATE.start_main_#t~ret20#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:19,136 INFO L290 TraceCheckUtils]: 20: Hoare triple {3759#(= (select |#valid| |ULTIMATE.start_main_#t~ret20#1.base|) (_ bv1 1))} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {3763#(= (select |#valid| |ULTIMATE.start_task_~n#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:19,137 INFO L272 TraceCheckUtils]: 21: Hoare triple {3763#(= (select |#valid| |ULTIMATE.start_task_~n#1.base|) (_ bv1 1))} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {3767#(= (_ bv1 1) (select |#valid| |max_#in~n.base|))} is VALID [2022-02-20 23:38:19,137 INFO L290 TraceCheckUtils]: 22: Hoare triple {3767#(= (_ bv1 1) (select |#valid| |max_#in~n.base|))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {3771#(= (select |#valid| max_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:19,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {3771#(= (select |#valid| max_~n.base) (_ bv1 1))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {3771#(= (select |#valid| max_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:19,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {3771#(= (select |#valid| max_~n.base) (_ bv1 1))} assume !(1bv1 == #valid[~n.base]); {3695#false} is VALID [2022-02-20 23:38:19,138 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:19,138 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:19,355 INFO L290 TraceCheckUtils]: 24: Hoare triple {3771#(= (select |#valid| max_~n.base) (_ bv1 1))} assume !(1bv1 == #valid[~n.base]); {3695#false} is VALID [2022-02-20 23:38:19,356 INFO L290 TraceCheckUtils]: 23: Hoare triple {3771#(= (select |#valid| max_~n.base) (_ bv1 1))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {3771#(= (select |#valid| max_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:19,356 INFO L290 TraceCheckUtils]: 22: Hoare triple {3767#(= (_ bv1 1) (select |#valid| |max_#in~n.base|))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {3771#(= (select |#valid| max_~n.base) (_ bv1 1))} is VALID [2022-02-20 23:38:19,357 INFO L272 TraceCheckUtils]: 21: Hoare triple {3763#(= (select |#valid| |ULTIMATE.start_task_~n#1.base|) (_ bv1 1))} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {3767#(= (_ bv1 1) (select |#valid| |max_#in~n.base|))} is VALID [2022-02-20 23:38:19,357 INFO L290 TraceCheckUtils]: 20: Hoare triple {3759#(= (select |#valid| |ULTIMATE.start_main_#t~ret20#1.base|) (_ bv1 1))} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {3763#(= (select |#valid| |ULTIMATE.start_task_~n#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:19,358 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3752#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} {3694#true} #107#return; {3759#(= (select |#valid| |ULTIMATE.start_main_#t~ret20#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:19,358 INFO L290 TraceCheckUtils]: 18: Hoare triple {3752#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} assume true; {3752#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:19,358 INFO L290 TraceCheckUtils]: 17: Hoare triple {3708#(= (_ 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; {3752#(= (select |#valid| |nondet_tree_#res.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:19,359 INFO L290 TraceCheckUtils]: 16: Hoare triple {3708#(= (_ 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: L30-1 {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,360 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3811#(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)))))} {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #105#return; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,360 INFO L290 TraceCheckUtils]: 14: Hoare triple {3811#(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; {3811#(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:19,361 INFO L290 TraceCheckUtils]: 13: Hoare triple {3811#(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; {3811#(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:19,361 INFO L272 TraceCheckUtils]: 12: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {3811#(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:19,361 INFO L290 TraceCheckUtils]: 11: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret8.base, #t~ret8.offset; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,362 INFO L290 TraceCheckUtils]: 10: Hoare triple {3708#(= (_ 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: L29-1 {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,363 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3811#(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)))))} {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #103#return; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {3811#(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; {3811#(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:19,363 INFO L290 TraceCheckUtils]: 7: Hoare triple {3811#(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; {3811#(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:19,364 INFO L272 TraceCheckUtils]: 6: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {3811#(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:19,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,364 INFO L290 TraceCheckUtils]: 4: Hoare triple {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,365 INFO L290 TraceCheckUtils]: 3: Hoare triple {3694#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; {3708#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:19,365 INFO L272 TraceCheckUtils]: 2: Hoare triple {3694#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {3694#true} is VALID [2022-02-20 23:38:19,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {3694#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {3694#true} is VALID [2022-02-20 23:38:19,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {3694#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {3694#true} is VALID [2022-02-20 23:38:19,365 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:19,365 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:19,365 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1280519210] [2022-02-20 23:38:19,366 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1280519210] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:19,366 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:19,366 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-02-20 23:38:19,366 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [100657161] [2022-02-20 23:38:19,366 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:19,366 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:19,366 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:19,366 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:19,395 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:19,395 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:38:19,395 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:19,395 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:38:19,395 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:38:19,395 INFO L87 Difference]: Start difference. First operand 95 states and 121 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:20,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:20,498 INFO L93 Difference]: Finished difference Result 116 states and 148 transitions. [2022-02-20 23:38:20,498 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:38:20,499 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:20,499 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:20,499 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:20,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2022-02-20 23:38:20,501 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:20,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2022-02-20 23:38:20,502 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 117 transitions. [2022-02-20 23:38:20,609 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:20,611 INFO L225 Difference]: With dead ends: 116 [2022-02-20 23:38:20,611 INFO L226 Difference]: Without dead ends: 114 [2022-02-20 23:38:20,611 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:38:20,612 INFO L933 BasicCegarLoop]: 68 mSDtfsCounter, 52 mSDsluCounter, 234 mSDsCounter, 0 mSdLazyCounter, 288 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 302 SdHoareTripleChecker+Invalid, 401 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 288 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 98 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:20,612 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 302 Invalid, 401 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 288 Invalid, 0 Unknown, 98 Unchecked, 0.4s Time] [2022-02-20 23:38:20,612 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-02-20 23:38:20,615 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 108. [2022-02-20 23:38:20,615 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:20,616 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 108 states, 69 states have (on average 1.4202898550724639) internal successors, (98), 83 states have internal predecessors, (98), 15 states have call successors, (15), 6 states have call predecessors, (15), 8 states have return successors, (28), 18 states have call predecessors, (28), 15 states have call successors, (28) [2022-02-20 23:38:20,616 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 108 states, 69 states have (on average 1.4202898550724639) internal successors, (98), 83 states have internal predecessors, (98), 15 states have call successors, (15), 6 states have call predecessors, (15), 8 states have return successors, (28), 18 states have call predecessors, (28), 15 states have call successors, (28) [2022-02-20 23:38:20,616 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 108 states, 69 states have (on average 1.4202898550724639) internal successors, (98), 83 states have internal predecessors, (98), 15 states have call successors, (15), 6 states have call predecessors, (15), 8 states have return successors, (28), 18 states have call predecessors, (28), 15 states have call successors, (28) [2022-02-20 23:38:20,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:20,618 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-02-20 23:38:20,619 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-02-20 23:38:20,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:20,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:20,619 INFO L74 IsIncluded]: Start isIncluded. First operand has 108 states, 69 states have (on average 1.4202898550724639) internal successors, (98), 83 states have internal predecessors, (98), 15 states have call successors, (15), 6 states have call predecessors, (15), 8 states have return successors, (28), 18 states have call predecessors, (28), 15 states have call successors, (28) Second operand 114 states. [2022-02-20 23:38:20,620 INFO L87 Difference]: Start difference. First operand has 108 states, 69 states have (on average 1.4202898550724639) internal successors, (98), 83 states have internal predecessors, (98), 15 states have call successors, (15), 6 states have call predecessors, (15), 8 states have return successors, (28), 18 states have call predecessors, (28), 15 states have call successors, (28) Second operand 114 states. [2022-02-20 23:38:20,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:20,622 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-02-20 23:38:20,622 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-02-20 23:38:20,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:20,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:20,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:20,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:20,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 108 states, 69 states have (on average 1.4202898550724639) internal successors, (98), 83 states have internal predecessors, (98), 15 states have call successors, (15), 6 states have call predecessors, (15), 8 states have return successors, (28), 18 states have call predecessors, (28), 15 states have call successors, (28) [2022-02-20 23:38:20,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 141 transitions. [2022-02-20 23:38:20,625 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 141 transitions. Word has length 25 [2022-02-20 23:38:20,625 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:20,625 INFO L470 AbstractCegarLoop]: Abstraction has 108 states and 141 transitions. [2022-02-20 23:38:20,626 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:20,626 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 141 transitions. [2022-02-20 23:38:20,626 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:38:20,626 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:20,626 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:20,633 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Ended with exit code 0 [2022-02-20 23:38:20,833 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:20,833 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting maxErr1REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:38:20,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:20,834 INFO L85 PathProgramCache]: Analyzing trace with hash -694882646, now seen corresponding path program 1 times [2022-02-20 23:38:20,834 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:20,834 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [125987987] [2022-02-20 23:38:20,834 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:20,834 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:20,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:20,835 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:20,837 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:20,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:38:20,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,912 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:20,930 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:21,203 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4308#true} is VALID [2022-02-20 23:38:21,203 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {4308#true} is VALID [2022-02-20 23:38:21,203 INFO L272 TraceCheckUtils]: 2: Hoare triple {4308#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {4308#true} is VALID [2022-02-20 23:38:21,204 INFO L290 TraceCheckUtils]: 3: Hoare triple {4308#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; {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:21,205 INFO L290 TraceCheckUtils]: 4: Hoare triple {4322#(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: L28 {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:21,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~nondet7; {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:21,207 INFO L272 TraceCheckUtils]: 6: Hoare triple {4322#(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(); {4332#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:21,207 INFO L290 TraceCheckUtils]: 7: Hoare triple {4332#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {4332#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:21,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {4332#(= |#length| |old(#length)|)} assume true; {4332#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:21,211 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4332#(= |#length| |old(#length)|)} {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #103#return; {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:21,211 INFO L290 TraceCheckUtils]: 10: Hoare triple {4322#(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: L29-1 {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:21,212 INFO L290 TraceCheckUtils]: 11: Hoare triple {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} havoc #t~ret8.base, #t~ret8.offset; {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:21,212 INFO L272 TraceCheckUtils]: 12: Hoare triple {4322#(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(); {4332#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:21,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {4332#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {4332#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:21,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {4332#(= |#length| |old(#length)|)} assume true; {4332#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:21,214 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4332#(= |#length| |old(#length)|)} {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} #105#return; {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:21,214 INFO L290 TraceCheckUtils]: 16: Hoare triple {4322#(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: L30-1 {4322#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:21,214 INFO L290 TraceCheckUtils]: 17: Hoare triple {4322#(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; {4366#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:21,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {4366#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {4366#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:21,216 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4366#(and (= (select |#length| |nondet_tree_#res.base|) (_ bv12 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {4308#true} #107#return; {4373#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret20#1.offset|) (= (_ bv12 32) (select |#length| |ULTIMATE.start_main_#t~ret20#1.base|)))} is VALID [2022-02-20 23:38:21,216 INFO L290 TraceCheckUtils]: 20: Hoare triple {4373#(and (= (_ bv0 32) |ULTIMATE.start_main_#t~ret20#1.offset|) (= (_ bv12 32) (select |#length| |ULTIMATE.start_main_#t~ret20#1.base|)))} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {4377#(and (= (select |#length| |ULTIMATE.start_task_~n#1.base|) (_ bv12 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:21,217 INFO L272 TraceCheckUtils]: 21: Hoare triple {4377#(and (= (select |#length| |ULTIMATE.start_task_~n#1.base|) (_ bv12 32)) (= |ULTIMATE.start_task_~n#1.offset| (_ bv0 32)))} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {4381#(and (= |max_#in~n.offset| (_ bv0 32)) (= (select |#length| |max_#in~n.base|) (_ bv12 32)))} is VALID [2022-02-20 23:38:21,217 INFO L290 TraceCheckUtils]: 22: Hoare triple {4381#(and (= |max_#in~n.offset| (_ bv0 32)) (= (select |#length| |max_#in~n.base|) (_ bv12 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {4385#(and (= (select |#length| max_~n.base) (_ bv12 32)) (= (_ bv0 32) max_~n.offset))} is VALID [2022-02-20 23:38:21,217 INFO L290 TraceCheckUtils]: 23: Hoare triple {4385#(and (= (select |#length| max_~n.base) (_ bv12 32)) (= (_ bv0 32) max_~n.offset))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {4385#(and (= (select |#length| max_~n.base) (_ bv12 32)) (= (_ bv0 32) max_~n.offset))} is VALID [2022-02-20 23:38:21,218 INFO L290 TraceCheckUtils]: 24: Hoare triple {4385#(and (= (select |#length| max_~n.base) (_ bv12 32)) (= (_ bv0 32) max_~n.offset))} assume !((~bvule32(~bvadd32(4bv32, ~n.offset), #length[~n.base]) && ~bvule32(~n.offset, ~bvadd32(4bv32, ~n.offset))) && ~bvule32(0bv32, ~n.offset)); {4309#false} is VALID [2022-02-20 23:38:21,219 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:21,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:22,143 INFO L290 TraceCheckUtils]: 24: Hoare triple {4392#(and (bvule (bvadd (_ bv4 32) max_~n.offset) (select |#length| max_~n.base)) (bvule max_~n.offset (bvadd (_ bv4 32) max_~n.offset)))} assume !((~bvule32(~bvadd32(4bv32, ~n.offset), #length[~n.base]) && ~bvule32(~n.offset, ~bvadd32(4bv32, ~n.offset))) && ~bvule32(0bv32, ~n.offset)); {4309#false} is VALID [2022-02-20 23:38:22,145 INFO L290 TraceCheckUtils]: 23: Hoare triple {4392#(and (bvule (bvadd (_ bv4 32) max_~n.offset) (select |#length| max_~n.base)) (bvule max_~n.offset (bvadd (_ bv4 32) max_~n.offset)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {4392#(and (bvule (bvadd (_ bv4 32) max_~n.offset) (select |#length| max_~n.base)) (bvule max_~n.offset (bvadd (_ bv4 32) max_~n.offset)))} is VALID [2022-02-20 23:38:22,145 INFO L290 TraceCheckUtils]: 22: Hoare triple {4399#(and (bvule (bvadd (_ bv4 32) |max_#in~n.offset|) (select |#length| |max_#in~n.base|)) (bvule |max_#in~n.offset| (bvadd (_ bv4 32) |max_#in~n.offset|)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {4392#(and (bvule (bvadd (_ bv4 32) max_~n.offset) (select |#length| max_~n.base)) (bvule max_~n.offset (bvadd (_ bv4 32) max_~n.offset)))} is VALID [2022-02-20 23:38:22,146 INFO L272 TraceCheckUtils]: 21: Hoare triple {4403#(and (bvule (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32)) (select |#length| |ULTIMATE.start_task_~n#1.base|)) (bvule |ULTIMATE.start_task_~n#1.offset| (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32))))} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {4399#(and (bvule (bvadd (_ bv4 32) |max_#in~n.offset|) (select |#length| |max_#in~n.base|)) (bvule |max_#in~n.offset| (bvadd (_ bv4 32) |max_#in~n.offset|)))} is VALID [2022-02-20 23:38:22,146 INFO L290 TraceCheckUtils]: 20: Hoare triple {4407#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|) (select |#length| |ULTIMATE.start_main_#t~ret20#1.base|)) (bvule |ULTIMATE.start_main_#t~ret20#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|)))} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {4403#(and (bvule (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32)) (select |#length| |ULTIMATE.start_task_~n#1.base|)) (bvule |ULTIMATE.start_task_~n#1.offset| (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32))))} is VALID [2022-02-20 23:38:22,147 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4414#(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))))} {4308#true} #107#return; {4407#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|) (select |#length| |ULTIMATE.start_main_#t~ret20#1.base|)) (bvule |ULTIMATE.start_main_#t~ret20#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|)))} is VALID [2022-02-20 23:38:22,148 INFO L290 TraceCheckUtils]: 18: Hoare triple {4414#(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; {4414#(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:22,168 INFO L290 TraceCheckUtils]: 17: Hoare triple {4421#(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; {4414#(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:22,168 INFO L290 TraceCheckUtils]: 16: Hoare triple {4421#(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: L30-1 {4421#(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:22,213 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4431#(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)))))} {4421#(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)))} #105#return; {4421#(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:22,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {4431#(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; {4431#(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:22,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {4431#(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; {4431#(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:22,215 INFO L272 TraceCheckUtils]: 12: Hoare triple {4421#(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(); {4431#(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:22,215 INFO L290 TraceCheckUtils]: 11: Hoare triple {4421#(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; {4421#(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:22,216 INFO L290 TraceCheckUtils]: 10: Hoare triple {4421#(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: L29-1 {4421#(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:22,244 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4431#(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)))))} {4421#(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)))} #103#return; {4421#(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:22,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {4431#(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; {4431#(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:22,245 INFO L290 TraceCheckUtils]: 7: Hoare triple {4431#(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; {4431#(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:22,252 INFO L272 TraceCheckUtils]: 6: Hoare triple {4421#(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(); {4431#(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:22,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {4421#(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; {4421#(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:22,253 INFO L290 TraceCheckUtils]: 4: Hoare triple {4421#(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: L28 {4421#(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:22,254 INFO L290 TraceCheckUtils]: 3: Hoare triple {4308#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; {4421#(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:22,254 INFO L272 TraceCheckUtils]: 2: Hoare triple {4308#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {4308#true} is VALID [2022-02-20 23:38:22,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {4308#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {4308#true} is VALID [2022-02-20 23:38:22,254 INFO L290 TraceCheckUtils]: 0: Hoare triple {4308#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {4308#true} is VALID [2022-02-20 23:38:22,254 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:22,255 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:22,255 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [125987987] [2022-02-20 23:38:22,255 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [125987987] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:22,255 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:22,255 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 15 [2022-02-20 23:38:22,255 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1346256186] [2022-02-20 23:38:22,255 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:22,256 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:22,256 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:22,256 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:22,491 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:22,491 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:38:22,492 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:22,492 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:38:22,492 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=204, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:38:22,492 INFO L87 Difference]: Start difference. First operand 108 states and 141 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:27,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:27,210 INFO L93 Difference]: Finished difference Result 133 states and 176 transitions. [2022-02-20 23:38:27,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:38:27,210 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:27,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:27,210 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:27,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 127 transitions. [2022-02-20 23:38:27,212 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:27,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 127 transitions. [2022-02-20 23:38:27,213 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 127 transitions. [2022-02-20 23:38:27,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:27,349 INFO L225 Difference]: With dead ends: 133 [2022-02-20 23:38:27,349 INFO L226 Difference]: Without dead ends: 133 [2022-02-20 23:38:27,349 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=69, Invalid=351, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:38:27,349 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 101 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 891 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 103 SdHoareTripleChecker+Valid, 197 SdHoareTripleChecker+Invalid, 943 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 891 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 21 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:27,349 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [103 Valid, 197 Invalid, 943 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 891 Invalid, 0 Unknown, 21 Unchecked, 2.1s Time] [2022-02-20 23:38:27,350 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-02-20 23:38:27,353 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 124. [2022-02-20 23:38:27,353 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:27,353 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 124 states, 81 states have (on average 1.3950617283950617) internal successors, (113), 95 states have internal predecessors, (113), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:27,354 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 124 states, 81 states have (on average 1.3950617283950617) internal successors, (113), 95 states have internal predecessors, (113), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:27,354 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 124 states, 81 states have (on average 1.3950617283950617) internal successors, (113), 95 states have internal predecessors, (113), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:27,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:27,357 INFO L93 Difference]: Finished difference Result 133 states and 176 transitions. [2022-02-20 23:38:27,357 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 176 transitions. [2022-02-20 23:38:27,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:27,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:27,358 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 81 states have (on average 1.3950617283950617) internal successors, (113), 95 states have internal predecessors, (113), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) Second operand 133 states. [2022-02-20 23:38:27,358 INFO L87 Difference]: Start difference. First operand has 124 states, 81 states have (on average 1.3950617283950617) internal successors, (113), 95 states have internal predecessors, (113), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) Second operand 133 states. [2022-02-20 23:38:27,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:27,364 INFO L93 Difference]: Finished difference Result 133 states and 176 transitions. [2022-02-20 23:38:27,364 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 176 transitions. [2022-02-20 23:38:27,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:27,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:27,365 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:27,365 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:27,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 81 states have (on average 1.3950617283950617) internal successors, (113), 95 states have internal predecessors, (113), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:27,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 162 transitions. [2022-02-20 23:38:27,368 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 162 transitions. Word has length 25 [2022-02-20 23:38:27,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:27,368 INFO L470 AbstractCegarLoop]: Abstraction has 124 states and 162 transitions. [2022-02-20 23:38:27,369 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:27,369 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 162 transitions. [2022-02-20 23:38:27,369 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:38:27,369 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:27,370 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:27,376 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:27,574 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:27,575 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting checkErr0REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:38:27,575 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:27,575 INFO L85 PathProgramCache]: Analyzing trace with hash 986137240, now seen corresponding path program 1 times [2022-02-20 23:38:27,576 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:27,576 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [359177705] [2022-02-20 23:38:27,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:27,576 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:27,576 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:27,577 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:27,579 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:27,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:27,654 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:38:27,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:27,667 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:27,816 INFO L290 TraceCheckUtils]: 0: Hoare triple {5003#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {5003#true} is VALID [2022-02-20 23:38:27,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {5003#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {5003#true} is VALID [2022-02-20 23:38:27,817 INFO L272 TraceCheckUtils]: 2: Hoare triple {5003#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {5003#true} is VALID [2022-02-20 23:38:27,817 INFO L290 TraceCheckUtils]: 3: Hoare triple {5003#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#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:27,819 INFO L290 TraceCheckUtils]: 4: Hoare triple {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:27,819 INFO L290 TraceCheckUtils]: 5: Hoare triple {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} havoc #t~nondet7; {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:27,819 INFO L272 TraceCheckUtils]: 6: Hoare triple {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5003#true} is VALID [2022-02-20 23:38:27,819 INFO L290 TraceCheckUtils]: 7: Hoare triple {5003#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5003#true} is VALID [2022-02-20 23:38:27,819 INFO L290 TraceCheckUtils]: 8: Hoare triple {5003#true} assume true; {5003#true} is VALID [2022-02-20 23:38:27,821 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {5003#true} {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #103#return; {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:27,821 INFO L290 TraceCheckUtils]: 10: Hoare triple {5017#(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: L29-1 {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:27,821 INFO L290 TraceCheckUtils]: 11: Hoare triple {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} havoc #t~ret8.base, #t~ret8.offset; {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:27,821 INFO L272 TraceCheckUtils]: 12: Hoare triple {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {5003#true} is VALID [2022-02-20 23:38:27,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {5003#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5003#true} is VALID [2022-02-20 23:38:27,821 INFO L290 TraceCheckUtils]: 14: Hoare triple {5003#true} assume true; {5003#true} is VALID [2022-02-20 23:38:27,823 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5003#true} {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} #105#return; {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:27,839 INFO L290 TraceCheckUtils]: 16: Hoare triple {5017#(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: L30-1 {5017#(not (= nondet_tree_~n~0.base (_ bv0 32)))} is VALID [2022-02-20 23:38:27,840 INFO L290 TraceCheckUtils]: 17: Hoare triple {5017#(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; {5060#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:27,840 INFO L290 TraceCheckUtils]: 18: Hoare triple {5060#(not (= |nondet_tree_#res.base| (_ bv0 32)))} assume true; {5060#(not (= |nondet_tree_#res.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:27,841 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5060#(not (= |nondet_tree_#res.base| (_ bv0 32)))} {5003#true} #107#return; {5067#(not (= |ULTIMATE.start_main_#t~ret20#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:27,841 INFO L290 TraceCheckUtils]: 20: Hoare triple {5067#(not (= |ULTIMATE.start_main_#t~ret20#1.base| (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {5071#(not (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:38:27,841 INFO L272 TraceCheckUtils]: 21: Hoare triple {5071#(not (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)))} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {5003#true} is VALID [2022-02-20 23:38:27,842 INFO L290 TraceCheckUtils]: 22: Hoare triple {5003#true} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {5078#(= |max_#in~n.base| max_~n.base)} is VALID [2022-02-20 23:38:27,842 INFO L290 TraceCheckUtils]: 23: Hoare triple {5078#(= |max_#in~n.base| max_~n.base)} assume ~n.base == 0bv32 && ~n.offset == 0bv32;#res := 2147483648bv32; {5082#(= |max_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 23:38:27,842 INFO L290 TraceCheckUtils]: 24: Hoare triple {5082#(= |max_#in~n.base| (_ bv0 32))} assume true; {5082#(= |max_#in~n.base| (_ bv0 32))} is VALID [2022-02-20 23:38:27,843 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {5082#(= |max_#in~n.base| (_ bv0 32))} {5071#(not (= |ULTIMATE.start_task_~n#1.base| (_ bv0 32)))} #109#return; {5004#false} is VALID [2022-02-20 23:38:27,843 INFO L290 TraceCheckUtils]: 26: Hoare triple {5004#false} task_~a~1#1 := task_#t~ret19#1;havoc task_#t~ret19#1; {5004#false} is VALID [2022-02-20 23:38:27,843 INFO L272 TraceCheckUtils]: 27: Hoare triple {5004#false} call check(task_~n#1.base, task_~n#1.offset, task_~a~1#1); {5004#false} is VALID [2022-02-20 23:38:27,843 INFO L290 TraceCheckUtils]: 28: Hoare triple {5004#false} ~n#1.base, ~n#1.offset := #in~n#1.base, #in~n#1.offset;~a#1 := #in~a#1; {5004#false} is VALID [2022-02-20 23:38:27,843 INFO L290 TraceCheckUtils]: 29: Hoare triple {5004#false} assume ~n#1.base != 0bv32 || ~n#1.offset != 0bv32; {5004#false} is VALID [2022-02-20 23:38:27,843 INFO L290 TraceCheckUtils]: 30: Hoare triple {5004#false} assume !(1bv1 == #valid[~n#1.base]); {5004#false} is VALID [2022-02-20 23:38:27,843 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:27,843 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:27,843 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:27,843 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [359177705] [2022-02-20 23:38:27,843 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [359177705] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:27,844 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:27,844 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 23:38:27,844 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1660981316] [2022-02-20 23:38:27,844 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:27,844 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:27,844 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:27,844 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:27,880 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:27,880 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:38:27,880 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:27,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:38:27,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:38:27,881 INFO L87 Difference]: Start difference. First operand 124 states and 162 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:28,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:28,766 INFO L93 Difference]: Finished difference Result 130 states and 171 transitions. [2022-02-20 23:38:28,766 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:38:28,766 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:28,766 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:28,766 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:28,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2022-02-20 23:38:28,767 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:28,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2022-02-20 23:38:28,768 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2022-02-20 23:38:28,842 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:28,844 INFO L225 Difference]: With dead ends: 130 [2022-02-20 23:38:28,844 INFO L226 Difference]: Without dead ends: 126 [2022-02-20 23:38:28,844 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:38:28,845 INFO L933 BasicCegarLoop]: 59 mSDtfsCounter, 29 mSDsluCounter, 311 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 370 SdHoareTripleChecker+Invalid, 144 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 140 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:28,845 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 370 Invalid, 144 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 140 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:38:28,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2022-02-20 23:38:28,848 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 124. [2022-02-20 23:38:28,849 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:28,850 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand has 124 states, 81 states have (on average 1.3703703703703705) internal successors, (111), 95 states have internal predecessors, (111), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:28,850 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand has 124 states, 81 states have (on average 1.3703703703703705) internal successors, (111), 95 states have internal predecessors, (111), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:28,850 INFO L87 Difference]: Start difference. First operand 126 states. Second operand has 124 states, 81 states have (on average 1.3703703703703705) internal successors, (111), 95 states have internal predecessors, (111), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:28,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:28,855 INFO L93 Difference]: Finished difference Result 126 states and 167 transitions. [2022-02-20 23:38:28,855 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 167 transitions. [2022-02-20 23:38:28,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:28,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:28,856 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 81 states have (on average 1.3703703703703705) internal successors, (111), 95 states have internal predecessors, (111), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) Second operand 126 states. [2022-02-20 23:38:28,857 INFO L87 Difference]: Start difference. First operand has 124 states, 81 states have (on average 1.3703703703703705) internal successors, (111), 95 states have internal predecessors, (111), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) Second operand 126 states. [2022-02-20 23:38:28,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:28,860 INFO L93 Difference]: Finished difference Result 126 states and 167 transitions. [2022-02-20 23:38:28,860 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 167 transitions. [2022-02-20 23:38:28,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:28,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:28,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:28,860 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:28,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 81 states have (on average 1.3703703703703705) internal successors, (111), 95 states have internal predecessors, (111), 18 states have call successors, (18), 7 states have call predecessors, (18), 9 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:28,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 160 transitions. [2022-02-20 23:38:28,865 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 160 transitions. Word has length 31 [2022-02-20 23:38:28,865 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:28,865 INFO L470 AbstractCegarLoop]: Abstraction has 124 states and 160 transitions. [2022-02-20 23:38:28,865 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:28,865 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 160 transitions. [2022-02-20 23:38:28,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:38:28,866 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:28,866 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:28,875 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:29,066 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:29,066 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting maxErr0REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:38:29,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:29,067 INFO L85 PathProgramCache]: Analyzing trace with hash 1746105865, now seen corresponding path program 1 times [2022-02-20 23:38:29,067 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:29,067 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1499256894] [2022-02-20 23:38:29,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:29,067 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:29,067 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:29,068 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:29,070 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:29,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:29,171 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 37 conjunts are in the unsatisfiable core [2022-02-20 23:38:29,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:29,183 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:29,239 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:29,246 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:29,341 INFO L356 Elim1Store]: treesize reduction 27, result has 25.0 percent of original size [2022-02-20 23:38:29,341 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:29,346 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:29,347 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:29,539 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:29,541 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:29,622 INFO L290 TraceCheckUtils]: 0: Hoare triple {5616#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {5616#true} is VALID [2022-02-20 23:38:29,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {5616#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {5616#true} is VALID [2022-02-20 23:38:29,622 INFO L272 TraceCheckUtils]: 2: Hoare triple {5616#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {5616#true} is VALID [2022-02-20 23:38:29,622 INFO L290 TraceCheckUtils]: 3: Hoare triple {5616#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; {5616#true} is VALID [2022-02-20 23:38:29,622 INFO L290 TraceCheckUtils]: 4: Hoare triple {5616#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {5616#true} is VALID [2022-02-20 23:38:29,622 INFO L290 TraceCheckUtils]: 5: Hoare triple {5616#true} havoc #t~nondet7; {5616#true} is VALID [2022-02-20 23:38:29,622 INFO L272 TraceCheckUtils]: 6: Hoare triple {5616#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5616#true} is VALID [2022-02-20 23:38:29,623 INFO L290 TraceCheckUtils]: 7: Hoare triple {5616#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5642#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:29,623 INFO L290 TraceCheckUtils]: 8: Hoare triple {5642#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {5642#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:29,623 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {5642#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {5616#true} #103#return; {5649#(and (= (_ bv0 32) |nondet_tree_#t~ret8.base|) (= |nondet_tree_#t~ret8.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:29,625 INFO L290 TraceCheckUtils]: 10: Hoare triple {5649#(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: L29-1 {5653#(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:29,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {5653#(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; {5653#(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:29,626 INFO L272 TraceCheckUtils]: 12: Hoare triple {5653#(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(); {5660#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:29,626 INFO L290 TraceCheckUtils]: 13: Hoare triple {5660#(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; {5660#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:29,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {5660#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume true; {5660#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:29,628 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5660#(and (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} {5653#(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))))} #105#return; {5653#(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:29,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {5653#(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: L30-1 {5653#(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:31,631 WARN L290 TraceCheckUtils]: 17: Hoare triple {5653#(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; {5676#(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:31,632 INFO L290 TraceCheckUtils]: 18: Hoare triple {5676#(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; {5676#(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:31,633 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5676#(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)))))} {5616#true} #107#return; {5683#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~ret20#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~ret20#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:38:31,633 INFO L290 TraceCheckUtils]: 20: Hoare triple {5683#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~ret20#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~ret20#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|)) (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {5687#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_task_~n#1.base|) (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_task_~n#1.base|) (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32)))))} is VALID [2022-02-20 23:38:31,634 INFO L272 TraceCheckUtils]: 21: Hoare triple {5687#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_task_~n#1.base|) (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_task_~n#1.base|) (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32)))))} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {5691#(and (= (select (select |#memory_$Pointer$.base| |max_#in~n.base|) (bvadd (_ bv4 32) |max_#in~n.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |max_#in~n.base|) (bvadd (_ bv4 32) |max_#in~n.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:38:31,635 INFO L290 TraceCheckUtils]: 22: Hoare triple {5691#(and (= (select (select |#memory_$Pointer$.base| |max_#in~n.base|) (bvadd (_ bv4 32) |max_#in~n.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |max_#in~n.base|) (bvadd (_ bv4 32) |max_#in~n.offset|)) (_ bv0 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} is VALID [2022-02-20 23:38:31,635 INFO L290 TraceCheckUtils]: 23: Hoare triple {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} is VALID [2022-02-20 23:38:31,636 INFO L290 TraceCheckUtils]: 24: Hoare triple {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} SUMMARY for call #t~mem10 := read~intINTTYPE4(~n.base, ~n.offset, 4bv32); srcloc: L39 {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} is VALID [2022-02-20 23:38:31,636 INFO L290 TraceCheckUtils]: 25: Hoare triple {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} ~a~0 := #t~mem10;havoc #t~mem10; {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} is VALID [2022-02-20 23:38:31,637 INFO L290 TraceCheckUtils]: 26: Hoare triple {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} SUMMARY for call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, ~bvadd32(4bv32, ~n.offset), 4bv32); srcloc: L40 {5708#(and (= |max_#t~mem11.base| (_ bv0 32)) (= |max_#t~mem11.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:31,637 INFO L272 TraceCheckUtils]: 27: Hoare triple {5708#(and (= |max_#t~mem11.base| (_ bv0 32)) (= |max_#t~mem11.offset| (_ bv0 32)))} call #t~ret12 := max(#t~mem11.base, #t~mem11.offset); {5712#(and (= |max_#in~n.base| (_ bv0 32)) (= |max_#in~n.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:31,638 INFO L290 TraceCheckUtils]: 28: Hoare triple {5712#(and (= |max_#in~n.base| (_ bv0 32)) (= |max_#in~n.offset| (_ bv0 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {5716#(and (= (_ bv0 32) max_~n.offset) (= (_ bv0 32) max_~n.base))} is VALID [2022-02-20 23:38:31,638 INFO L290 TraceCheckUtils]: 29: Hoare triple {5716#(and (= (_ bv0 32) max_~n.offset) (= (_ bv0 32) max_~n.base))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {5617#false} is VALID [2022-02-20 23:38:31,638 INFO L290 TraceCheckUtils]: 30: Hoare triple {5617#false} assume !(1bv1 == #valid[~n.base]); {5617#false} is VALID [2022-02-20 23:38:31,638 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:31,638 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:34,440 INFO L290 TraceCheckUtils]: 30: Hoare triple {5617#false} assume !(1bv1 == #valid[~n.base]); {5617#false} is VALID [2022-02-20 23:38:34,440 INFO L290 TraceCheckUtils]: 29: Hoare triple {5716#(and (= (_ bv0 32) max_~n.offset) (= (_ bv0 32) max_~n.base))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {5617#false} is VALID [2022-02-20 23:38:34,441 INFO L290 TraceCheckUtils]: 28: Hoare triple {5712#(and (= |max_#in~n.base| (_ bv0 32)) (= |max_#in~n.offset| (_ bv0 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {5716#(and (= (_ bv0 32) max_~n.offset) (= (_ bv0 32) max_~n.base))} is VALID [2022-02-20 23:38:34,441 INFO L272 TraceCheckUtils]: 27: Hoare triple {5708#(and (= |max_#t~mem11.base| (_ bv0 32)) (= |max_#t~mem11.offset| (_ bv0 32)))} call #t~ret12 := max(#t~mem11.base, #t~mem11.offset); {5712#(and (= |max_#in~n.base| (_ bv0 32)) (= |max_#in~n.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:34,442 INFO L290 TraceCheckUtils]: 26: Hoare triple {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} SUMMARY for call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~n.base, ~bvadd32(4bv32, ~n.offset), 4bv32); srcloc: L40 {5708#(and (= |max_#t~mem11.base| (_ bv0 32)) (= |max_#t~mem11.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:34,442 INFO L290 TraceCheckUtils]: 25: Hoare triple {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} ~a~0 := #t~mem10;havoc #t~mem10; {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} is VALID [2022-02-20 23:38:34,443 INFO L290 TraceCheckUtils]: 24: Hoare triple {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} SUMMARY for call #t~mem10 := read~intINTTYPE4(~n.base, ~n.offset, 4bv32); srcloc: L39 {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} is VALID [2022-02-20 23:38:34,443 INFO L290 TraceCheckUtils]: 23: Hoare triple {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} assume !(~n.base == 0bv32 && ~n.offset == 0bv32); {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} is VALID [2022-02-20 23:38:34,444 INFO L290 TraceCheckUtils]: 22: Hoare triple {5691#(and (= (select (select |#memory_$Pointer$.base| |max_#in~n.base|) (bvadd (_ bv4 32) |max_#in~n.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |max_#in~n.base|) (bvadd (_ bv4 32) |max_#in~n.offset|)) (_ bv0 32)))} ~n.base, ~n.offset := #in~n.base, #in~n.offset; {5695#(and (= (select (select |#memory_$Pointer$.base| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| max_~n.base) (bvadd (_ bv4 32) max_~n.offset)) (_ bv0 32)))} is VALID [2022-02-20 23:38:34,445 INFO L272 TraceCheckUtils]: 21: Hoare triple {5687#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_task_~n#1.base|) (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_task_~n#1.base|) (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32)))))} call task_#t~ret19#1 := max(task_~n#1.base, task_~n#1.offset); {5691#(and (= (select (select |#memory_$Pointer$.base| |max_#in~n.base|) (bvadd (_ bv4 32) |max_#in~n.offset|)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |max_#in~n.base|) (bvadd (_ bv4 32) |max_#in~n.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:38:34,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {5683#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~ret20#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~ret20#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|)) (_ bv0 32)))} assume { :begin_inline_task } true;task_#in~n#1.base, task_#in~n#1.offset := main_#t~ret20#1.base, main_#t~ret20#1.offset;havoc task_#t~ret19#1, task_~n#1.base, task_~n#1.offset, task_~a~1#1;task_~n#1.base, task_~n#1.offset := task_#in~n#1.base, task_#in~n#1.offset; {5687#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_task_~n#1.base|) (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32))) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_task_~n#1.base|) (bvadd |ULTIMATE.start_task_~n#1.offset| (_ bv4 32)))))} is VALID [2022-02-20 23:38:34,446 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5676#(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)))))} {5616#true} #107#return; {5683#(and (= (_ bv0 32) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~ret20#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~ret20#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~ret20#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:38:34,446 INFO L290 TraceCheckUtils]: 18: Hoare triple {5676#(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; {5676#(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:36,449 WARN L290 TraceCheckUtils]: 17: Hoare triple {5653#(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; {5676#(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:36,451 INFO L290 TraceCheckUtils]: 16: Hoare triple {5653#(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: L30-1 {5653#(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:36,453 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5774#(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)))))} {5653#(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))))} #105#return; {5653#(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:36,454 INFO L290 TraceCheckUtils]: 14: Hoare triple {5774#(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; {5774#(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:36,454 INFO L290 TraceCheckUtils]: 13: Hoare triple {5774#(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; {5774#(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:36,455 INFO L272 TraceCheckUtils]: 12: Hoare triple {5653#(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(); {5774#(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:36,456 INFO L290 TraceCheckUtils]: 11: Hoare triple {5653#(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; {5653#(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:36,458 INFO L290 TraceCheckUtils]: 10: Hoare triple {5649#(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: L29-1 {5653#(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:36,458 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {5642#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} {5616#true} #103#return; {5649#(and (= (_ bv0 32) |nondet_tree_#t~ret8.base|) (= |nondet_tree_#t~ret8.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:36,459 INFO L290 TraceCheckUtils]: 8: Hoare triple {5642#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} assume true; {5642#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:36,459 INFO L290 TraceCheckUtils]: 7: Hoare triple {5616#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {5642#(and (= |nondet_tree_#res.base| (_ bv0 32)) (= |nondet_tree_#res.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:36,459 INFO L272 TraceCheckUtils]: 6: Hoare triple {5616#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {5616#true} is VALID [2022-02-20 23:38:36,459 INFO L290 TraceCheckUtils]: 5: Hoare triple {5616#true} havoc #t~nondet7; {5616#true} is VALID [2022-02-20 23:38:36,459 INFO L290 TraceCheckUtils]: 4: Hoare triple {5616#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {5616#true} is VALID [2022-02-20 23:38:36,459 INFO L290 TraceCheckUtils]: 3: Hoare triple {5616#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; {5616#true} is VALID [2022-02-20 23:38:36,459 INFO L272 TraceCheckUtils]: 2: Hoare triple {5616#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {5616#true} is VALID [2022-02-20 23:38:36,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {5616#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {5616#true} is VALID [2022-02-20 23:38:36,459 INFO L290 TraceCheckUtils]: 0: Hoare triple {5616#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {5616#true} is VALID [2022-02-20 23:38:36,460 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:36,460 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:36,460 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1499256894] [2022-02-20 23:38:36,460 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1499256894] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:36,460 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:36,460 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2022-02-20 23:38:36,460 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [373892655] [2022-02-20 23:38:36,460 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:36,460 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:36,460 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:36,461 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:36,501 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:36,501 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 23:38:36,501 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:36,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 23:38:36,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=181, Unknown=1, NotChecked=0, Total=210 [2022-02-20 23:38:36,502 INFO L87 Difference]: Start difference. First operand 124 states and 160 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) [2022-02-20 23:38:39,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:39,465 INFO L93 Difference]: Finished difference Result 139 states and 178 transitions. [2022-02-20 23:38:39,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-20 23:38:39,465 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:39,466 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:39,466 INFO L82 GeneralOperation]: Start removeUnreachable. 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) [2022-02-20 23:38:39,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 129 transitions. [2022-02-20 23:38:39,467 INFO L82 GeneralOperation]: Start removeUnreachable. 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) [2022-02-20 23:38:39,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 129 transitions. [2022-02-20 23:38:39,468 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 129 transitions. [2022-02-20 23:38:39,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:39,607 INFO L225 Difference]: With dead ends: 139 [2022-02-20 23:38:39,607 INFO L226 Difference]: Without dead ends: 139 [2022-02-20 23:38:39,607 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=59, Invalid=402, Unknown=1, NotChecked=0, Total=462 [2022-02-20 23:38:39,608 INFO L933 BasicCegarLoop]: 77 mSDtfsCounter, 38 mSDsluCounter, 737 mSDsCounter, 0 mSdLazyCounter, 285 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 814 SdHoareTripleChecker+Invalid, 372 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 285 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 74 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:39,608 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 814 Invalid, 372 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 285 Invalid, 0 Unknown, 74 Unchecked, 0.7s Time] [2022-02-20 23:38:39,608 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2022-02-20 23:38:39,611 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 131. [2022-02-20 23:38:39,611 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:39,611 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:39,611 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:39,611 INFO L87 Difference]: Start difference. First operand 139 states. Second operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:39,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:39,614 INFO L93 Difference]: Finished difference Result 139 states and 178 transitions. [2022-02-20 23:38:39,614 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 178 transitions. [2022-02-20 23:38:39,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:39,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:39,615 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) Second operand 139 states. [2022-02-20 23:38:39,615 INFO L87 Difference]: Start difference. First operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) Second operand 139 states. [2022-02-20 23:38:39,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:39,617 INFO L93 Difference]: Finished difference Result 139 states and 178 transitions. [2022-02-20 23:38:39,617 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 178 transitions. [2022-02-20 23:38:39,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:39,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:39,618 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:39,618 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:39,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:39,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 166 transitions. [2022-02-20 23:38:39,637 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 166 transitions. Word has length 31 [2022-02-20 23:38:39,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:39,638 INFO L470 AbstractCegarLoop]: Abstraction has 131 states and 166 transitions. [2022-02-20 23:38:39,638 INFO L471 AbstractCegarLoop]: INTERPOLANT 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) [2022-02-20 23:38:39,638 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 166 transitions. [2022-02-20 23:38:39,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 23:38:39,641 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:39,641 INFO L514 BasicCegarLoop]: trace histogram [6, 5, 4, 4, 4, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:39,665 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:39,849 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:38:39,849 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting nondet_treeErr4REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:38:39,849 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:39,850 INFO L85 PathProgramCache]: Analyzing trace with hash -1908344221, now seen corresponding path program 1 times [2022-02-20 23:38:39,850 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:39,850 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1737774883] [2022-02-20 23:38:39,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:39,850 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:39,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:39,853 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:38:39,854 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Waiting until timeout for monitored process [2022-02-20 23:38:40,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:40,075 INFO L263 TraceCheckSpWp]: Trace formula consists of 347 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:38:40,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:40,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:40,142 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:40,374 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:38:40,375 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:40,386 INFO L290 TraceCheckUtils]: 0: Hoare triple {6375#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {6375#true} is VALID [2022-02-20 23:38:40,386 INFO L290 TraceCheckUtils]: 1: Hoare triple {6375#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {6375#true} is VALID [2022-02-20 23:38:40,386 INFO L272 TraceCheckUtils]: 2: Hoare triple {6375#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:40,386 INFO L290 TraceCheckUtils]: 3: Hoare triple {6375#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; {6375#true} is VALID [2022-02-20 23:38:40,386 INFO L290 TraceCheckUtils]: 4: Hoare triple {6375#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {6375#true} havoc #t~nondet7; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L272 TraceCheckUtils]: 6: Hoare triple {6375#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {6375#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 8: Hoare triple {6375#true} assume true; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6375#true} {6375#true} #103#return; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 10: Hoare triple {6375#true} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L29-1 {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 11: Hoare triple {6375#true} havoc #t~ret8.base, #t~ret8.offset; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L272 TraceCheckUtils]: 12: Hoare triple {6375#true} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 13: Hoare triple {6375#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; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {6375#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 15: Hoare triple {6375#true} havoc #t~nondet7; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L272 TraceCheckUtils]: 16: Hoare triple {6375#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {6375#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 18: Hoare triple {6375#true} assume true; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6375#true} {6375#true} #103#return; {6375#true} is VALID [2022-02-20 23:38:40,387 INFO L290 TraceCheckUtils]: 20: Hoare triple {6375#true} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L29-1 {6375#true} is VALID [2022-02-20 23:38:40,391 INFO L290 TraceCheckUtils]: 21: Hoare triple {6375#true} havoc #t~ret8.base, #t~ret8.offset; {6375#true} is VALID [2022-02-20 23:38:40,391 INFO L272 TraceCheckUtils]: 22: Hoare triple {6375#true} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:40,400 INFO L290 TraceCheckUtils]: 23: Hoare triple {6375#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; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:40,400 INFO L290 TraceCheckUtils]: 24: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:40,401 INFO L290 TraceCheckUtils]: 25: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:40,401 INFO L272 TraceCheckUtils]: 26: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,401 INFO L290 TraceCheckUtils]: 27: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,402 INFO L290 TraceCheckUtils]: 28: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume true; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,402 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6459#(= |old(#valid)| |#valid|)} {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #103#return; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:40,403 INFO L290 TraceCheckUtils]: 30: Hoare triple {6449#(= (_ 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: L29-1 {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:40,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret8.base, #t~ret8.offset; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:40,403 INFO L272 TraceCheckUtils]: 32: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,404 INFO L290 TraceCheckUtils]: 33: Hoare triple {6459#(= |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; {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,407 INFO L290 TraceCheckUtils]: 34: Hoare triple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#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: L28 {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,408 INFO L290 TraceCheckUtils]: 35: Hoare triple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~nondet7; {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,408 INFO L272 TraceCheckUtils]: 36: Hoare triple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,409 INFO L290 TraceCheckUtils]: 37: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,409 INFO L290 TraceCheckUtils]: 38: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume true; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,411 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6459#(= |old(#valid)| |#valid|)} {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #103#return; {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,413 INFO L290 TraceCheckUtils]: 40: Hoare triple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#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: L29-1 {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,414 INFO L290 TraceCheckUtils]: 41: Hoare triple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} havoc #t~ret8.base, #t~ret8.offset; {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,414 INFO L272 TraceCheckUtils]: 42: Hoare triple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,415 INFO L290 TraceCheckUtils]: 43: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,415 INFO L290 TraceCheckUtils]: 44: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume true; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:40,416 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6459#(= |old(#valid)| |#valid|)} {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} #105#return; {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,417 INFO L290 TraceCheckUtils]: 46: Hoare triple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#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: L30-1 {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,418 INFO L290 TraceCheckUtils]: 47: Hoare triple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#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; {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,418 INFO L290 TraceCheckUtils]: 48: Hoare triple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} assume true; {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} is VALID [2022-02-20 23:38:40,419 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6481#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (exists ((v_ArrVal_554 (_ BitVec 1))) (= (store |old(#valid)| nondet_tree_~n~0.base v_ArrVal_554) |#valid|)) (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1))))} {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #105#return; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:40,421 INFO L290 TraceCheckUtils]: 50: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {6376#false} is VALID [2022-02-20 23:38:40,421 INFO L134 CoverageAnalysis]: Checked inductivity of 103 backedges. 60 proven. 13 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 23:38:40,421 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:40,559 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:40,559 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1737774883] [2022-02-20 23:38:40,560 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1737774883] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:40,560 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1672875915] [2022-02-20 23:38:40,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:40,560 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:40,560 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:38:40,576 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:38:40,607 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (18)] Waiting until timeout for monitored process [2022-02-20 23:38:40,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:40,895 INFO L263 TraceCheckSpWp]: Trace formula consists of 347 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 23:38:40,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:40,913 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:40,967 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:43,090 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:38:43,090 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:43,096 INFO L290 TraceCheckUtils]: 0: Hoare triple {6375#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {6375#true} is VALID [2022-02-20 23:38:43,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {6375#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {6375#true} is VALID [2022-02-20 23:38:43,096 INFO L272 TraceCheckUtils]: 2: Hoare triple {6375#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:43,096 INFO L290 TraceCheckUtils]: 3: Hoare triple {6375#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; {6375#true} is VALID [2022-02-20 23:38:43,096 INFO L290 TraceCheckUtils]: 4: Hoare triple {6375#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {6375#true} is VALID [2022-02-20 23:38:43,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {6375#true} havoc #t~nondet7; {6375#true} is VALID [2022-02-20 23:38:43,096 INFO L272 TraceCheckUtils]: 6: Hoare triple {6375#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:43,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {6375#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6375#true} is VALID [2022-02-20 23:38:43,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {6375#true} assume true; {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6375#true} {6375#true} #103#return; {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L290 TraceCheckUtils]: 10: Hoare triple {6375#true} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L29-1 {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {6375#true} havoc #t~ret8.base, #t~ret8.offset; {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L272 TraceCheckUtils]: 12: Hoare triple {6375#true} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {6375#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; {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {6375#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {6375#true} havoc #t~nondet7; {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L272 TraceCheckUtils]: 16: Hoare triple {6375#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {6375#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L290 TraceCheckUtils]: 18: Hoare triple {6375#true} assume true; {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6375#true} {6375#true} #103#return; {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L290 TraceCheckUtils]: 20: Hoare triple {6375#true} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L29-1 {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L290 TraceCheckUtils]: 21: Hoare triple {6375#true} havoc #t~ret8.base, #t~ret8.offset; {6375#true} is VALID [2022-02-20 23:38:43,097 INFO L272 TraceCheckUtils]: 22: Hoare triple {6375#true} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6375#true} is VALID [2022-02-20 23:38:43,098 INFO L290 TraceCheckUtils]: 23: Hoare triple {6375#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; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:43,099 INFO L290 TraceCheckUtils]: 24: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:43,099 INFO L290 TraceCheckUtils]: 25: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~nondet7; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:43,099 INFO L272 TraceCheckUtils]: 26: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,100 INFO L290 TraceCheckUtils]: 27: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,100 INFO L290 TraceCheckUtils]: 28: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume true; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,101 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6459#(= |old(#valid)| |#valid|)} {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #103#return; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:43,101 INFO L290 TraceCheckUtils]: 30: Hoare triple {6449#(= (_ 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: L29-1 {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:43,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} havoc #t~ret8.base, #t~ret8.offset; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:43,102 INFO L272 TraceCheckUtils]: 32: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,102 INFO L290 TraceCheckUtils]: 33: Hoare triple {6459#(= |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; {6654#(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:43,103 INFO L290 TraceCheckUtils]: 34: Hoare triple {6654#(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: L28 {6654#(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:43,103 INFO L290 TraceCheckUtils]: 35: Hoare triple {6654#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} havoc #t~nondet7; {6654#(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:43,103 INFO L272 TraceCheckUtils]: 36: Hoare triple {6654#(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(); {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,104 INFO L290 TraceCheckUtils]: 37: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,104 INFO L290 TraceCheckUtils]: 38: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume true; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,105 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6459#(= |old(#valid)| |#valid|)} {6654#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} #103#return; {6654#(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:43,105 INFO L290 TraceCheckUtils]: 40: Hoare triple {6654#(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: L29-1 {6654#(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:43,105 INFO L290 TraceCheckUtils]: 41: Hoare triple {6654#(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; {6654#(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:43,106 INFO L272 TraceCheckUtils]: 42: Hoare triple {6654#(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(); {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,106 INFO L290 TraceCheckUtils]: 43: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,106 INFO L290 TraceCheckUtils]: 44: Hoare triple {6459#(= |old(#valid)| |#valid|)} assume true; {6459#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:43,107 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6459#(= |old(#valid)| |#valid|)} {6654#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} #105#return; {6654#(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:43,107 INFO L290 TraceCheckUtils]: 46: Hoare triple {6654#(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: L30-1 {6654#(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:43,107 INFO L290 TraceCheckUtils]: 47: Hoare triple {6654#(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; {6654#(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:43,108 INFO L290 TraceCheckUtils]: 48: Hoare triple {6654#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} assume true; {6654#(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:43,109 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6654#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (= (store |old(#valid)| nondet_tree_~n~0.base (_ bv1 1)) |#valid|))} {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} #105#return; {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} is VALID [2022-02-20 23:38:43,109 INFO L290 TraceCheckUtils]: 50: Hoare triple {6449#(= (_ bv1 1) (select |#valid| nondet_tree_~n~0.base))} assume !(1bv1 == #valid[~n~0.base]); {6376#false} is VALID [2022-02-20 23:38:43,109 INFO L134 CoverageAnalysis]: Checked inductivity of 103 backedges. 60 proven. 13 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 23:38:43,109 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:43,251 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1672875915] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:43,251 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:43,251 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-02-20 23:38:43,252 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1177020264] [2022-02-20 23:38:43,252 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:43,252 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 6.6) internal successors, (33), 6 states have internal predecessors, (33), 4 states have call successors, (9), 2 states have call predecessors, (9), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-02-20 23:38:43,252 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:43,252 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 6.6) internal successors, (33), 6 states have internal predecessors, (33), 4 states have call successors, (9), 2 states have call predecessors, (9), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 23:38:43,305 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:43,305 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:38:43,305 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:43,305 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:38:43,305 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=27, Unknown=1, NotChecked=0, Total=42 [2022-02-20 23:38:43,305 INFO L87 Difference]: Start difference. First operand 131 states and 166 transitions. Second operand has 6 states, 5 states have (on average 6.6) internal successors, (33), 6 states have internal predecessors, (33), 4 states have call successors, (9), 2 states have call predecessors, (9), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 23:38:49,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:49,712 INFO L93 Difference]: Finished difference Result 136 states and 177 transitions. [2022-02-20 23:38:49,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:38:49,712 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 6.6) internal successors, (33), 6 states have internal predecessors, (33), 4 states have call successors, (9), 2 states have call predecessors, (9), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-02-20 23:38:49,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:49,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 6.6) internal successors, (33), 6 states have internal predecessors, (33), 4 states have call successors, (9), 2 states have call predecessors, (9), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 23:38:49,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2022-02-20 23:38:49,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 6.6) internal successors, (33), 6 states have internal predecessors, (33), 4 states have call successors, (9), 2 states have call predecessors, (9), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 23:38:49,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2022-02-20 23:38:49,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 101 transitions. [2022-02-20 23:38:49,818 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:49,820 INFO L225 Difference]: With dead ends: 136 [2022-02-20 23:38:49,820 INFO L226 Difference]: Without dead ends: 136 [2022-02-20 23:38:49,820 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 103 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:49,821 INFO L933 BasicCegarLoop]: 63 mSDtfsCounter, 44 mSDsluCounter, 39 mSDsCounter, 0 mSdLazyCounter, 92 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 92 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 156 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:49,821 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 102 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 92 Invalid, 0 Unknown, 156 Unchecked, 0.1s Time] [2022-02-20 23:38:49,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-02-20 23:38:49,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 131. [2022-02-20 23:38:49,824 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:49,824 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:49,825 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:49,825 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:49,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:49,829 INFO L93 Difference]: Finished difference Result 136 states and 177 transitions. [2022-02-20 23:38:49,830 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 177 transitions. [2022-02-20 23:38:49,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:49,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:49,830 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) Second operand 136 states. [2022-02-20 23:38:49,831 INFO L87 Difference]: Start difference. First operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) Second operand 136 states. [2022-02-20 23:38:49,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:49,833 INFO L93 Difference]: Finished difference Result 136 states and 177 transitions. [2022-02-20 23:38:49,833 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 177 transitions. [2022-02-20 23:38:49,835 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:49,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:49,835 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:49,835 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:49,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 86 states have (on average 1.3604651162790697) internal successors, (117), 100 states have internal predecessors, (117), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (31), 21 states have call predecessors, (31), 18 states have call successors, (31) [2022-02-20 23:38:49,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 166 transitions. [2022-02-20 23:38:49,838 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 166 transitions. Word has length 51 [2022-02-20 23:38:49,839 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:49,839 INFO L470 AbstractCegarLoop]: Abstraction has 131 states and 166 transitions. [2022-02-20 23:38:49,843 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 6.6) internal successors, (33), 6 states have internal predecessors, (33), 4 states have call successors, (9), 2 states have call predecessors, (9), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-02-20 23:38:49,843 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 166 transitions. [2022-02-20 23:38:49,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-20 23:38:49,844 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:49,844 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:49,853 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:50,057 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (18)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:50,255 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:50,255 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting nondet_treeErr5REQUIRES_VIOLATION === [maxErr0REQUIRES_VIOLATION, maxErr1REQUIRES_VIOLATION, maxErr2REQUIRES_VIOLATION, maxErr3REQUIRES_VIOLATION, maxErr4REQUIRES_VIOLATION (and 15 more)] === [2022-02-20 23:38:50,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:50,256 INFO L85 PathProgramCache]: Analyzing trace with hash -914147594, now seen corresponding path program 1 times [2022-02-20 23:38:50,256 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:50,259 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2074094257] [2022-02-20 23:38:50,259 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:50,260 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:50,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:50,265 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:38:50,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Waiting until timeout for monitored process [2022-02-20 23:38:50,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:50,491 INFO L263 TraceCheckSpWp]: Trace formula consists of 316 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:38:50,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:50,511 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:50,552 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:50,556 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:58,845 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:58,846 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:58,859 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:58,859 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:58,880 INFO L290 TraceCheckUtils]: 0: Hoare triple {7270#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(11bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32); {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {7270#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret20#1.base, main_#t~ret20#1.offset; {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L272 TraceCheckUtils]: 2: Hoare triple {7270#true} call main_#t~ret20#1.base, main_#t~ret20#1.offset := nondet_tree(); {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 3: Hoare triple {7270#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; {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 4: Hoare triple {7270#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {7270#true} havoc #t~nondet7; {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {7270#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {7270#true} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {7270#true} assume true; {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {7270#true} {7270#true} #103#return; {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 10: Hoare triple {7270#true} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L29-1 {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {7270#true} havoc #t~ret8.base, #t~ret8.offset; {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L272 TraceCheckUtils]: 12: Hoare triple {7270#true} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {7270#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; {7270#true} is VALID [2022-02-20 23:38:58,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {7270#true} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {7270#true} is VALID [2022-02-20 23:38:58,881 INFO L290 TraceCheckUtils]: 15: Hoare triple {7270#true} havoc #t~nondet7; {7270#true} is VALID [2022-02-20 23:38:58,881 INFO L272 TraceCheckUtils]: 16: Hoare triple {7270#true} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {7270#true} is VALID [2022-02-20 23:38:58,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {7270#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; {7326#(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:58,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {7326#(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: L28 {7326#(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:58,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {7326#(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; {7326#(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:58,883 INFO L272 TraceCheckUtils]: 20: Hoare triple {7326#(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(); {7336#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:58,884 INFO L290 TraceCheckUtils]: 21: Hoare triple {7336#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7336#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:58,884 INFO L290 TraceCheckUtils]: 22: Hoare triple {7336#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} assume true; {7336#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:58,885 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7336#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} {7326#(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)))} #103#return; {7326#(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:58,886 INFO L290 TraceCheckUtils]: 24: Hoare triple {7326#(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~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L29-1 {7326#(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:58,886 INFO L290 TraceCheckUtils]: 25: Hoare triple {7326#(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~ret8.base, #t~ret8.offset; {7326#(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:58,886 INFO L272 TraceCheckUtils]: 26: Hoare triple {7326#(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~ret9.base, #t~ret9.offset := nondet_tree(); {7336#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:38:58,887 INFO L290 TraceCheckUtils]: 27: Hoare triple {7336#(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; {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,890 INFO L290 TraceCheckUtils]: 28: Hoare triple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} SUMMARY for call write~intINTTYPE4(#t~nondet7, ~n~0.base, ~n~0.offset, 4bv32); srcloc: L28 {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} havoc #t~nondet7; {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,891 INFO L272 TraceCheckUtils]: 30: Hoare triple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} call #t~ret8.base, #t~ret8.offset := nondet_tree(); {7368#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:58,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {7368#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7368#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:58,892 INFO L290 TraceCheckUtils]: 32: Hoare triple {7368#(= |#length| |old(#length)|)} assume true; {7368#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:58,892 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7368#(= |#length| |old(#length)|)} {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} #103#return; {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,894 INFO L290 TraceCheckUtils]: 34: Hoare triple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} SUMMARY for call write~$Pointer$(#t~ret8.base, #t~ret8.offset, ~n~0.base, ~bvadd32(4bv32, ~n~0.offset), 4bv32); srcloc: L29-1 {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,895 INFO L290 TraceCheckUtils]: 35: Hoare triple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} havoc #t~ret8.base, #t~ret8.offset; {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,895 INFO L272 TraceCheckUtils]: 36: Hoare triple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} call #t~ret9.base, #t~ret9.offset := nondet_tree(); {7368#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:58,895 INFO L290 TraceCheckUtils]: 37: Hoare triple {7368#(= |#length| |old(#length)|)} assume 0bv8 != #t~nondet5;havoc #t~nondet5;#res.base, #res.offset := 0bv32, 0bv32; {7368#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:58,896 INFO L290 TraceCheckUtils]: 38: Hoare triple {7368#(= |#length| |old(#length)|)} assume true; {7368#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:38:58,896 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7368#(= |#length| |old(#length)|)} {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} #105#return; {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} SUMMARY for call write~$Pointer$(#t~ret9.base, #t~ret9.offset, ~n~0.base, ~bvadd32(8bv32, ~n~0.offset), 4bv32); srcloc: L30-1 {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,898 INFO L290 TraceCheckUtils]: 41: Hoare triple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} havoc #t~ret9.base, #t~ret9.offset;#res.base, #res.offset := ~n~0.base, ~n~0.offset; {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,899 INFO L290 TraceCheckUtils]: 42: Hoare triple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} assume true; {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} is VALID [2022-02-20 23:38:58,900 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7358#(exists ((nondet_tree_~n~0.base (_ BitVec 32))) (and (= (bvneg (select |old(#valid)| nondet_tree_~n~0.base)) (_ bv0 1)) (exists ((v_ArrVal_753 (_ BitVec 32))) (= |#length| (store |old(#length)| nondet_tree_~n~0.base v_ArrVal_753)))))} {7326#(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)))} #105#return; {7408#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:58,901 INFO L290 TraceCheckUtils]: 44: Hoare triple {7408#(and (= (select |#length| nondet_tree_~n~0.base) (_ bv12 32)) (= nondet_tree_~n~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(8bv32, ~n~0.offset)), #length[~n~0.base]) && ~bvule32(~bvadd32(8bv32, ~n~0.offset), ~bvadd32(4bv32, ~bvadd32(8bv32, ~n~0.offset)))) && ~bvule32(0bv32, ~bvadd32(8bv32, ~n~0.offset))); {7271#false} is VALID [2022-02-20 23:38:58,901 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 42 proven. 21 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-02-20 23:38:58,901 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:01,139 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:39:01,139 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2074094257] [2022-02-20 23:39:01,139 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2074094257] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:01,139 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1343460942] [2022-02-20 23:39:01,139 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:01,139 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:39:01,139 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:39:01,140 INFO L229 MonitoredProcess]: Starting monitored process 20 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:39:01,144 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (20)] Waiting until timeout for monitored process [2022-02-20 23:39:01,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:01,406 INFO L263 TraceCheckSpWp]: Trace formula consists of 316 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:39:01,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:01,419 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:01,470 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:39:01,473 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