./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/array-memsafety-realloc/array-realloc-3.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) Using default analysis Version 8bd4bc60 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.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/array-memsafety-realloc/array-realloc-3.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash c5e00b9cd3876aa8df4263099f6b8339445d38f8 ............................................................................................................................... Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.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/array-memsafety-realloc/array-realloc-3.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash c5e00b9cd3876aa8df4263099f6b8339445d38f8 ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: UNKNOWN: Overapproximated counterexample --- Real Ultimate output --- This is Ultimate 0.1.25-8bd4bc6 [2020-07-29 00:53:14,228 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-29 00:53:14,230 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-29 00:53:14,242 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-29 00:53:14,243 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-29 00:53:14,244 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-29 00:53:14,245 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-29 00:53:14,247 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-29 00:53:14,249 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-29 00:53:14,251 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-29 00:53:14,252 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-29 00:53:14,253 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-29 00:53:14,254 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-29 00:53:14,255 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-29 00:53:14,256 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-29 00:53:14,257 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-29 00:53:14,258 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-29 00:53:14,260 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-29 00:53:14,263 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-29 00:53:14,265 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-29 00:53:14,269 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-29 00:53:14,270 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-29 00:53:14,275 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-29 00:53:14,276 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-29 00:53:14,278 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-29 00:53:14,279 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-29 00:53:14,279 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-29 00:53:14,280 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-29 00:53:14,281 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-29 00:53:14,282 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-29 00:53:14,282 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-29 00:53:14,283 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-29 00:53:14,284 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-29 00:53:14,285 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-29 00:53:14,286 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-29 00:53:14,286 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-29 00:53:14,287 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-29 00:53:14,287 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-29 00:53:14,288 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-29 00:53:14,289 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-29 00:53:14,290 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-29 00:53:14,290 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2020-07-29 00:53:14,306 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-29 00:53:14,306 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-29 00:53:14,307 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-29 00:53:14,308 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-29 00:53:14,308 INFO L138 SettingsManager]: * Use SBE=true [2020-07-29 00:53:14,308 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-29 00:53:14,309 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-29 00:53:14,309 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2020-07-29 00:53:14,309 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-29 00:53:14,310 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-29 00:53:14,310 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-29 00:53:14,310 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2020-07-29 00:53:14,310 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2020-07-29 00:53:14,311 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2020-07-29 00:53:14,311 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-29 00:53:14,311 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2020-07-29 00:53:14,312 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-29 00:53:14,312 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-29 00:53:14,312 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-29 00:53:14,313 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-29 00:53:14,313 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-29 00:53:14,313 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-29 00:53:14,313 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-29 00:53:14,314 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-29 00:53:14,314 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-29 00:53:14,314 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-29 00:53:14,315 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-29 00:53:14,315 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-29 00:53:14,315 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> c5e00b9cd3876aa8df4263099f6b8339445d38f8 [2020-07-29 00:53:14,673 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-29 00:53:14,693 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-29 00:53:14,697 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-29 00:53:14,699 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-29 00:53:14,699 INFO L275 PluginConnector]: CDTParser initialized [2020-07-29 00:53:14,701 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-memsafety-realloc/array-realloc-3.i [2020-07-29 00:53:14,767 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/babd48866/3d0713976a554a278f8a873c6e11a232/FLAG1c3973844 [2020-07-29 00:53:15,409 INFO L306 CDTParser]: Found 1 translation units. [2020-07-29 00:53:15,412 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-memsafety-realloc/array-realloc-3.i [2020-07-29 00:53:15,431 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/babd48866/3d0713976a554a278f8a873c6e11a232/FLAG1c3973844 [2020-07-29 00:53:15,705 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/babd48866/3d0713976a554a278f8a873c6e11a232 [2020-07-29 00:53:15,709 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-29 00:53:15,712 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2020-07-29 00:53:15,713 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-29 00:53:15,714 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-29 00:53:15,717 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-29 00:53:15,719 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 29.07 12:53:15" (1/1) ... [2020-07-29 00:53:15,722 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@c681665 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:15, skipping insertion in model container [2020-07-29 00:53:15,723 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 29.07 12:53:15" (1/1) ... [2020-07-29 00:53:15,731 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-29 00:53:15,782 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-29 00:53:16,230 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-29 00:53:16,251 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) [2020-07-29 00:53:16,252 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@54b52f2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:16, skipping insertion in model container [2020-07-29 00:53:16,252 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-29 00:53:16,252 INFO L184 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.preprocessor [2020-07-29 00:53:16,256 INFO L168 Benchmark]: Toolchain (without parser) took 544.32 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.9 MB). Free memory was 961.6 MB in the beginning and 1.1 GB in the end (delta: -166.0 MB). Peak memory consumption was 22.0 MB. Max. memory is 11.5 GB. [2020-07-29 00:53:16,256 INFO L168 Benchmark]: CDTParser took 0.65 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-29 00:53:16,257 INFO L168 Benchmark]: CACSL2BoogieTranslator took 538.75 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.9 MB). Free memory was 961.6 MB in the beginning and 1.1 GB in the end (delta: -166.0 MB). Peak memory consumption was 22.0 MB. Max. memory is 11.5 GB. [2020-07-29 00:53:16,260 INFO L336 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.65 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 538.75 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.9 MB). Free memory was 961.6 MB in the beginning and 1.1 GB in the end (delta: -166.0 MB). Peak memory consumption was 22.0 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - UnsupportedSyntaxResult [Line: 515]: 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... ### Bit-precise run ### This is Ultimate 0.1.25-8bd4bc6 [2020-07-29 00:53:18,085 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-29 00:53:18,088 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-29 00:53:18,101 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-29 00:53:18,101 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-29 00:53:18,102 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-29 00:53:18,104 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-29 00:53:18,109 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-29 00:53:18,111 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-29 00:53:18,112 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-29 00:53:18,113 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-29 00:53:18,114 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-29 00:53:18,115 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-29 00:53:18,116 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-29 00:53:18,118 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-29 00:53:18,119 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-29 00:53:18,120 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-29 00:53:18,122 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-29 00:53:18,124 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-29 00:53:18,126 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-29 00:53:18,128 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-29 00:53:18,129 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-29 00:53:18,130 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-29 00:53:18,131 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-29 00:53:18,134 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-29 00:53:18,135 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-29 00:53:18,135 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-29 00:53:18,136 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-29 00:53:18,137 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-29 00:53:18,138 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-29 00:53:18,138 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-29 00:53:18,139 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-29 00:53:18,140 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-29 00:53:18,141 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-29 00:53:18,142 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-29 00:53:18,143 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-29 00:53:18,143 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-29 00:53:18,144 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-29 00:53:18,144 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-29 00:53:18,145 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-29 00:53:18,146 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-29 00:53:18,147 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf [2020-07-29 00:53:18,163 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-29 00:53:18,163 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-29 00:53:18,165 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-29 00:53:18,165 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-29 00:53:18,165 INFO L138 SettingsManager]: * Use SBE=true [2020-07-29 00:53:18,166 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-29 00:53:18,166 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-29 00:53:18,166 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2020-07-29 00:53:18,167 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-29 00:53:18,167 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-29 00:53:18,167 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-29 00:53:18,167 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2020-07-29 00:53:18,168 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2020-07-29 00:53:18,168 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2020-07-29 00:53:18,168 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-29 00:53:18,169 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2020-07-29 00:53:18,169 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2020-07-29 00:53:18,169 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2020-07-29 00:53:18,169 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-29 00:53:18,170 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-29 00:53:18,170 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-29 00:53:18,170 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-29 00:53:18,171 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-29 00:53:18,171 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-29 00:53:18,171 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-29 00:53:18,172 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-29 00:53:18,172 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-29 00:53:18,172 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2020-07-29 00:53:18,172 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --rewrite-divk --print-success --lang smt [2020-07-29 00:53:18,173 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-29 00:53:18,173 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-29 00:53:18,173 INFO L138 SettingsManager]: * Logic for external solver=AUFBV Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> c5e00b9cd3876aa8df4263099f6b8339445d38f8 [2020-07-29 00:53:18,503 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-29 00:53:18,517 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-29 00:53:18,521 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-29 00:53:18,522 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-29 00:53:18,523 INFO L275 PluginConnector]: CDTParser initialized [2020-07-29 00:53:18,524 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-memsafety-realloc/array-realloc-3.i [2020-07-29 00:53:18,599 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cfd04e03/270f8862d59a4f0f88903f1f8dd74244/FLAGeb510e45c [2020-07-29 00:53:19,195 INFO L306 CDTParser]: Found 1 translation units. [2020-07-29 00:53:19,195 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-memsafety-realloc/array-realloc-3.i [2020-07-29 00:53:19,208 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cfd04e03/270f8862d59a4f0f88903f1f8dd74244/FLAGeb510e45c [2020-07-29 00:53:19,482 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cfd04e03/270f8862d59a4f0f88903f1f8dd74244 [2020-07-29 00:53:19,486 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-29 00:53:19,490 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2020-07-29 00:53:19,491 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-29 00:53:19,491 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-29 00:53:19,494 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-29 00:53:19,496 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 29.07 12:53:19" (1/1) ... [2020-07-29 00:53:19,499 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@62886f96 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:19, skipping insertion in model container [2020-07-29 00:53:19,500 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 29.07 12:53:19" (1/1) ... [2020-07-29 00:53:19,508 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-29 00:53:19,557 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-29 00:53:19,955 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-29 00:53:19,983 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2020-07-29 00:53:19,994 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-29 00:53:20,065 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-29 00:53:20,073 INFO L203 MainTranslator]: Completed pre-run [2020-07-29 00:53:20,139 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-29 00:53:20,194 INFO L208 MainTranslator]: Completed translation [2020-07-29 00:53:20,194 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20 WrapperNode [2020-07-29 00:53:20,195 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-29 00:53:20,195 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-29 00:53:20,196 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-29 00:53:20,196 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-29 00:53:20,209 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20" (1/1) ... [2020-07-29 00:53:20,209 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20" (1/1) ... [2020-07-29 00:53:20,227 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20" (1/1) ... [2020-07-29 00:53:20,228 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20" (1/1) ... [2020-07-29 00:53:20,251 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20" (1/1) ... [2020-07-29 00:53:20,256 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20" (1/1) ... [2020-07-29 00:53:20,260 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20" (1/1) ... [2020-07-29 00:53:20,271 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-29 00:53:20,272 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-29 00:53:20,272 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-29 00:53:20,272 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-29 00:53:20,273 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-29 00:53:20,347 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-29 00:53:20,348 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-29 00:53:20,348 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.setCurrentRoundingMode [2020-07-29 00:53:20,348 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-29 00:53:20,348 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-29 00:53:20,349 INFO L138 BoogieDeclarations]: Found implementation of procedure __uint16_identity [2020-07-29 00:53:20,349 INFO L138 BoogieDeclarations]: Found implementation of procedure __uint32_identity [2020-07-29 00:53:20,349 INFO L138 BoogieDeclarations]: Found implementation of procedure __uint64_identity [2020-07-29 00:53:20,349 INFO L138 BoogieDeclarations]: Found implementation of procedure expandArray [2020-07-29 00:53:20,350 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-29 00:53:20,350 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_realloc [2020-07-29 00:53:20,350 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-29 00:53:20,350 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-29 00:53:20,351 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-29 00:53:20,351 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-29 00:53:20,351 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-29 00:53:20,351 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-29 00:53:20,351 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-29 00:53:20,352 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-29 00:53:20,352 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-29 00:53:20,352 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-29 00:53:20,352 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-29 00:53:20,353 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-29 00:53:20,353 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-29 00:53:20,353 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-29 00:53:20,353 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-29 00:53:20,353 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-29 00:53:20,354 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-29 00:53:20,354 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-29 00:53:20,354 INFO L130 BoogieDeclarations]: Found specification of procedure __uint16_identity [2020-07-29 00:53:20,354 INFO L130 BoogieDeclarations]: Found specification of procedure __uint32_identity [2020-07-29 00:53:20,354 INFO L130 BoogieDeclarations]: Found specification of procedure __uint64_identity [2020-07-29 00:53:20,355 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-29 00:53:20,355 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-29 00:53:20,355 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-29 00:53:20,355 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-29 00:53:20,355 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-29 00:53:20,356 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-29 00:53:20,356 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-29 00:53:20,356 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-29 00:53:20,356 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-29 00:53:20,356 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-29 00:53:20,357 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-29 00:53:20,357 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-29 00:53:20,357 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-29 00:53:20,357 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-29 00:53:20,357 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-29 00:53:20,358 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-29 00:53:20,358 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-29 00:53:20,358 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-29 00:53:20,358 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-29 00:53:20,359 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-29 00:53:20,359 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-29 00:53:20,359 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-29 00:53:20,359 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-29 00:53:20,359 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-29 00:53:20,360 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-29 00:53:20,360 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-29 00:53:20,360 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-29 00:53:20,360 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-29 00:53:20,360 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-29 00:53:20,361 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-29 00:53:20,361 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-29 00:53:20,361 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-29 00:53:20,361 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-29 00:53:20,361 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-29 00:53:20,362 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-29 00:53:20,362 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-29 00:53:20,362 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-29 00:53:20,362 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-29 00:53:20,362 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-29 00:53:20,363 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-29 00:53:20,363 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-29 00:53:20,363 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-29 00:53:20,363 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-29 00:53:20,364 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-29 00:53:20,364 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-29 00:53:20,364 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-29 00:53:20,364 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-29 00:53:20,364 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-29 00:53:20,365 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-29 00:53:20,365 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-29 00:53:20,365 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-29 00:53:20,365 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-29 00:53:20,365 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-29 00:53:20,366 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-29 00:53:20,366 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-29 00:53:20,366 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-29 00:53:20,366 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-29 00:53:20,366 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-29 00:53:20,366 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-29 00:53:20,367 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-29 00:53:20,367 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-29 00:53:20,367 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-29 00:53:20,367 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-29 00:53:20,367 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-29 00:53:20,368 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-29 00:53:20,368 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-29 00:53:20,368 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-29 00:53:20,368 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-29 00:53:20,368 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-29 00:53:20,369 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-29 00:53:20,369 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-29 00:53:20,369 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-29 00:53:20,369 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-29 00:53:20,369 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-29 00:53:20,370 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-29 00:53:20,370 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-29 00:53:20,370 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-29 00:53:20,370 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-29 00:53:20,370 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-29 00:53:20,371 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-29 00:53:20,371 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-29 00:53:20,371 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-29 00:53:20,371 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-29 00:53:20,372 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-29 00:53:20,372 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-29 00:53:20,372 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-29 00:53:20,372 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-29 00:53:20,372 INFO L130 BoogieDeclarations]: Found specification of procedure expandArray [2020-07-29 00:53:20,372 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_realloc [2020-07-29 00:53:20,373 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2020-07-29 00:53:20,373 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-29 00:53:20,373 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-29 00:53:20,373 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-29 00:53:20,374 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-29 00:53:20,374 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.setCurrentRoundingMode [2020-07-29 00:53:20,374 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2020-07-29 00:53:20,374 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-29 00:53:21,039 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-29 00:53:21,039 INFO L295 CfgBuilder]: Removed 1 assume(true) statements. [2020-07-29 00:53:21,043 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 29.07 12:53:21 BoogieIcfgContainer [2020-07-29 00:53:21,043 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-29 00:53:21,045 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-29 00:53:21,045 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-29 00:53:21,049 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-29 00:53:21,049 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 29.07 12:53:19" (1/3) ... [2020-07-29 00:53:21,050 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1ae5b71c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 29.07 12:53:21, skipping insertion in model container [2020-07-29 00:53:21,050 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 29.07 12:53:20" (2/3) ... [2020-07-29 00:53:21,051 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1ae5b71c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 29.07 12:53:21, skipping insertion in model container [2020-07-29 00:53:21,051 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 29.07 12:53:21" (3/3) ... [2020-07-29 00:53:21,053 INFO L109 eAbstractionObserver]: Analyzing ICFG array-realloc-3.i [2020-07-29 00:53:21,064 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-29 00:53:21,072 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 3 error locations. [2020-07-29 00:53:21,086 INFO L251 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2020-07-29 00:53:21,106 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-29 00:53:21,106 INFO L376 AbstractCegarLoop]: Hoare is false [2020-07-29 00:53:21,106 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-29 00:53:21,106 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-29 00:53:21,112 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-29 00:53:21,112 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-29 00:53:21,112 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-29 00:53:21,113 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-29 00:53:21,129 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states. [2020-07-29 00:53:21,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2020-07-29 00:53:21,138 INFO L414 BasicCegarLoop]: Found error trace [2020-07-29 00:53:21,139 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2020-07-29 00:53:21,140 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ENSURES_VIOLATIONMEMORY_LEAK, expandArrayErr1REQUIRES_VIOLATION, expandArrayErr0REQUIRES_VIOLATION]=== [2020-07-29 00:53:21,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-29 00:53:21,145 INFO L82 PathProgramCache]: Analyzing trace with hash 451943323, now seen corresponding path program 1 times [2020-07-29 00:53:21,159 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-29 00:53:21,159 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1724253292] [2020-07-29 00:53:21,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2020-07-29 00:53:21,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:21,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 2 conjunts are in the unsatisfiable core [2020-07-29 00:53:21,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:21,330 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-29 00:53:21,388 INFO L263 TraceCheckUtils]: 0: Hoare triple {32#true} call ULTIMATE.init(); {32#true} is VALID [2020-07-29 00:53:21,389 INFO L280 TraceCheckUtils]: 1: Hoare triple {32#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {32#true} is VALID [2020-07-29 00:53:21,390 INFO L280 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2020-07-29 00:53:21,390 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {32#true} {32#true} #81#return; {32#true} is VALID [2020-07-29 00:53:21,394 INFO L263 TraceCheckUtils]: 4: Hoare triple {32#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {49#(= |#valid| |old(#valid)|)} is VALID [2020-07-29 00:53:21,395 INFO L280 TraceCheckUtils]: 5: Hoare triple {49#(= |#valid| |old(#valid)|)} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {49#(= |#valid| |old(#valid)|)} is VALID [2020-07-29 00:53:21,396 INFO L280 TraceCheckUtils]: 6: Hoare triple {49#(= |#valid| |old(#valid)|)} assume !(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));#res := 0bv32; {49#(= |#valid| |old(#valid)|)} is VALID [2020-07-29 00:53:21,397 INFO L280 TraceCheckUtils]: 7: Hoare triple {49#(= |#valid| |old(#valid)|)} assume !(#valid == old(#valid)); {33#false} is VALID [2020-07-29 00:53:21,399 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:21,400 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-29 00:53:21,427 INFO L280 TraceCheckUtils]: 7: Hoare triple {49#(= |#valid| |old(#valid)|)} assume !(#valid == old(#valid)); {33#false} is VALID [2020-07-29 00:53:21,428 INFO L280 TraceCheckUtils]: 6: Hoare triple {49#(= |#valid| |old(#valid)|)} assume !(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));#res := 0bv32; {49#(= |#valid| |old(#valid)|)} is VALID [2020-07-29 00:53:21,429 INFO L280 TraceCheckUtils]: 5: Hoare triple {49#(= |#valid| |old(#valid)|)} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {49#(= |#valid| |old(#valid)|)} is VALID [2020-07-29 00:53:21,430 INFO L263 TraceCheckUtils]: 4: Hoare triple {32#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {49#(= |#valid| |old(#valid)|)} is VALID [2020-07-29 00:53:21,431 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {32#true} {32#true} #81#return; {32#true} is VALID [2020-07-29 00:53:21,431 INFO L280 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2020-07-29 00:53:21,432 INFO L280 TraceCheckUtils]: 1: Hoare triple {32#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {32#true} is VALID [2020-07-29 00:53:21,432 INFO L263 TraceCheckUtils]: 0: Hoare triple {32#true} call ULTIMATE.init(); {32#true} is VALID [2020-07-29 00:53:21,433 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:21,434 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1724253292] [2020-07-29 00:53:21,435 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-29 00:53:21,435 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2, 2] imperfect sequences [] total 2 [2020-07-29 00:53:21,436 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [745200646] [2020-07-29 00:53:21,443 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 8 [2020-07-29 00:53:21,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-29 00:53:21,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-29 00:53:21,481 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:21,481 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-29 00:53:21,481 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-29 00:53:21,492 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-29 00:53:21,493 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-29 00:53:21,496 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 3 states. [2020-07-29 00:53:21,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:21,722 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2020-07-29 00:53:21,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-29 00:53:21,723 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 8 [2020-07-29 00:53:21,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-29 00:53:21,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-29 00:53:21,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2020-07-29 00:53:21,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-29 00:53:21,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2020-07-29 00:53:21,759 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 43 transitions. [2020-07-29 00:53:21,853 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:21,866 INFO L225 Difference]: With dead ends: 35 [2020-07-29 00:53:21,867 INFO L226 Difference]: Without dead ends: 31 [2020-07-29 00:53:21,869 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-29 00:53:21,890 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2020-07-29 00:53:21,907 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 26. [2020-07-29 00:53:21,908 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-29 00:53:21,909 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 26 states. [2020-07-29 00:53:21,910 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 26 states. [2020-07-29 00:53:21,910 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 26 states. [2020-07-29 00:53:21,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:21,925 INFO L93 Difference]: Finished difference Result 31 states and 35 transitions. [2020-07-29 00:53:21,926 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2020-07-29 00:53:21,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:21,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:21,927 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 31 states. [2020-07-29 00:53:21,928 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 31 states. [2020-07-29 00:53:21,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:21,948 INFO L93 Difference]: Finished difference Result 31 states and 35 transitions. [2020-07-29 00:53:21,949 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2020-07-29 00:53:21,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:21,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:21,950 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-29 00:53:21,950 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-29 00:53:21,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-29 00:53:21,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 28 transitions. [2020-07-29 00:53:21,958 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 28 transitions. Word has length 8 [2020-07-29 00:53:21,958 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-29 00:53:21,959 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 28 transitions. [2020-07-29 00:53:21,959 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-29 00:53:21,959 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2020-07-29 00:53:21,960 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2020-07-29 00:53:21,961 INFO L414 BasicCegarLoop]: Found error trace [2020-07-29 00:53:21,961 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-29 00:53:22,175 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 mathsat -unsat_core_generation=3 [2020-07-29 00:53:22,176 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ENSURES_VIOLATIONMEMORY_LEAK, expandArrayErr1REQUIRES_VIOLATION, expandArrayErr0REQUIRES_VIOLATION]=== [2020-07-29 00:53:22,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-29 00:53:22,176 INFO L82 PathProgramCache]: Analyzing trace with hash 1125341978, now seen corresponding path program 1 times [2020-07-29 00:53:22,178 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-29 00:53:22,178 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [738452975] [2020-07-29 00:53:22,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2020-07-29 00:53:22,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:22,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 61 conjuncts, 3 conjunts are in the unsatisfiable core [2020-07-29 00:53:22,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:22,326 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-29 00:53:22,348 INFO L263 TraceCheckUtils]: 0: Hoare triple {205#true} call ULTIMATE.init(); {205#true} is VALID [2020-07-29 00:53:22,348 INFO L280 TraceCheckUtils]: 1: Hoare triple {205#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {205#true} is VALID [2020-07-29 00:53:22,348 INFO L280 TraceCheckUtils]: 2: Hoare triple {205#true} assume true; {205#true} is VALID [2020-07-29 00:53:22,349 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {205#true} {205#true} #81#return; {205#true} is VALID [2020-07-29 00:53:22,349 INFO L263 TraceCheckUtils]: 4: Hoare triple {205#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {205#true} is VALID [2020-07-29 00:53:22,349 INFO L280 TraceCheckUtils]: 5: Hoare triple {205#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {205#true} is VALID [2020-07-29 00:53:22,351 INFO L280 TraceCheckUtils]: 6: Hoare triple {205#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {228#(not (= main_~a~1.base (_ bv0 32)))} is VALID [2020-07-29 00:53:22,353 INFO L280 TraceCheckUtils]: 7: Hoare triple {228#(not (= main_~a~1.base (_ bv0 32)))} assume ~a~1.base == 0bv32 && ~a~1.offset == 0bv32;#res := 0bv32; {206#false} is VALID [2020-07-29 00:53:22,353 INFO L280 TraceCheckUtils]: 8: Hoare triple {206#false} assume !(#valid == old(#valid)); {206#false} is VALID [2020-07-29 00:53:22,354 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:22,354 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-29 00:53:22,390 INFO L280 TraceCheckUtils]: 8: Hoare triple {206#false} assume !(#valid == old(#valid)); {206#false} is VALID [2020-07-29 00:53:22,397 INFO L280 TraceCheckUtils]: 7: Hoare triple {228#(not (= main_~a~1.base (_ bv0 32)))} assume ~a~1.base == 0bv32 && ~a~1.offset == 0bv32;#res := 0bv32; {206#false} is VALID [2020-07-29 00:53:22,398 INFO L280 TraceCheckUtils]: 6: Hoare triple {205#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {228#(not (= main_~a~1.base (_ bv0 32)))} is VALID [2020-07-29 00:53:22,398 INFO L280 TraceCheckUtils]: 5: Hoare triple {205#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {205#true} is VALID [2020-07-29 00:53:22,398 INFO L263 TraceCheckUtils]: 4: Hoare triple {205#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {205#true} is VALID [2020-07-29 00:53:22,399 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {205#true} {205#true} #81#return; {205#true} is VALID [2020-07-29 00:53:22,399 INFO L280 TraceCheckUtils]: 2: Hoare triple {205#true} assume true; {205#true} is VALID [2020-07-29 00:53:22,399 INFO L280 TraceCheckUtils]: 1: Hoare triple {205#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {205#true} is VALID [2020-07-29 00:53:22,400 INFO L263 TraceCheckUtils]: 0: Hoare triple {205#true} call ULTIMATE.init(); {205#true} is VALID [2020-07-29 00:53:22,401 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:22,401 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [738452975] [2020-07-29 00:53:22,401 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-29 00:53:22,401 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3, 3] imperfect sequences [] total 3 [2020-07-29 00:53:22,402 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1246947277] [2020-07-29 00:53:22,403 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 9 [2020-07-29 00:53:22,403 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-29 00:53:22,403 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-29 00:53:22,423 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:22,424 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-29 00:53:22,424 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-29 00:53:22,424 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-29 00:53:22,424 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-29 00:53:22,425 INFO L87 Difference]: Start difference. First operand 26 states and 28 transitions. Second operand 3 states. [2020-07-29 00:53:22,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:22,524 INFO L93 Difference]: Finished difference Result 26 states and 27 transitions. [2020-07-29 00:53:22,524 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-29 00:53:22,524 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 9 [2020-07-29 00:53:22,524 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-29 00:53:22,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-29 00:53:22,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 28 transitions. [2020-07-29 00:53:22,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-29 00:53:22,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 28 transitions. [2020-07-29 00:53:22,530 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 28 transitions. [2020-07-29 00:53:22,593 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:22,594 INFO L225 Difference]: With dead ends: 26 [2020-07-29 00:53:22,595 INFO L226 Difference]: Without dead ends: 26 [2020-07-29 00:53:22,595 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-29 00:53:22,596 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2020-07-29 00:53:22,599 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2020-07-29 00:53:22,599 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-29 00:53:22,599 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 26 states. [2020-07-29 00:53:22,599 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2020-07-29 00:53:22,600 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2020-07-29 00:53:22,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:22,602 INFO L93 Difference]: Finished difference Result 26 states and 27 transitions. [2020-07-29 00:53:22,602 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2020-07-29 00:53:22,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:22,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:22,603 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2020-07-29 00:53:22,603 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2020-07-29 00:53:22,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:22,606 INFO L93 Difference]: Finished difference Result 26 states and 27 transitions. [2020-07-29 00:53:22,606 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2020-07-29 00:53:22,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:22,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:22,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-29 00:53:22,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-29 00:53:22,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-29 00:53:22,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 27 transitions. [2020-07-29 00:53:22,609 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 27 transitions. Word has length 9 [2020-07-29 00:53:22,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-29 00:53:22,610 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 27 transitions. [2020-07-29 00:53:22,610 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-29 00:53:22,610 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2020-07-29 00:53:22,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2020-07-29 00:53:22,611 INFO L414 BasicCegarLoop]: Found error trace [2020-07-29 00:53:22,611 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-29 00:53:22,821 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2020-07-29 00:53:22,822 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ENSURES_VIOLATIONMEMORY_LEAK, expandArrayErr1REQUIRES_VIOLATION, expandArrayErr0REQUIRES_VIOLATION]=== [2020-07-29 00:53:22,822 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-29 00:53:22,823 INFO L82 PathProgramCache]: Analyzing trace with hash -285526799, now seen corresponding path program 1 times [2020-07-29 00:53:22,824 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-29 00:53:22,825 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1423276469] [2020-07-29 00:53:22,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2020-07-29 00:53:22,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:22,955 INFO L263 TraceCheckSpWp]: Trace formula consists of 81 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-29 00:53:22,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:22,973 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-29 00:53:23,115 INFO L263 TraceCheckUtils]: 0: Hoare triple {365#true} call ULTIMATE.init(); {365#true} is VALID [2020-07-29 00:53:23,115 INFO L280 TraceCheckUtils]: 1: Hoare triple {365#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {365#true} is VALID [2020-07-29 00:53:23,116 INFO L280 TraceCheckUtils]: 2: Hoare triple {365#true} assume true; {365#true} is VALID [2020-07-29 00:53:23,116 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {365#true} {365#true} #81#return; {365#true} is VALID [2020-07-29 00:53:23,116 INFO L263 TraceCheckUtils]: 4: Hoare triple {365#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {365#true} is VALID [2020-07-29 00:53:23,116 INFO L280 TraceCheckUtils]: 5: Hoare triple {365#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {365#true} is VALID [2020-07-29 00:53:23,118 INFO L280 TraceCheckUtils]: 6: Hoare triple {365#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {388#(and (bvsgt ~num~0 (_ bv0 32)) (bvslt ~num~0 (_ bv100 32)))} is VALID [2020-07-29 00:53:23,119 INFO L280 TraceCheckUtils]: 7: Hoare triple {388#(and (bvsgt ~num~0 (_ bv0 32)) (bvslt ~num~0 (_ bv100 32)))} assume !(~a~1.base == 0bv32 && ~a~1.offset == 0bv32);~newsize~0 := 0bv32; {392#(and (bvsgt ~num~0 (_ bv0 32)) (bvslt ~num~0 (_ bv100 32)) (= ~newsize~0 (_ bv0 32)))} is VALID [2020-07-29 00:53:23,121 INFO L263 TraceCheckUtils]: 8: Hoare triple {392#(and (bvsgt ~num~0 (_ bv0 32)) (bvslt ~num~0 (_ bv100 32)) (= ~newsize~0 (_ bv0 32)))} call #t~ret5.base, #t~ret5.offset := expandArray(~a~1.base, ~a~1.offset); {396#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (bvslt ~num~0 (_ bv100 32)))} is VALID [2020-07-29 00:53:23,122 INFO L280 TraceCheckUtils]: 9: Hoare triple {396#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (bvslt ~num~0 (_ bv100 32)))} ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset;~a~0.base, ~a~0.offset := ~arg.base, ~arg.offset; {396#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (bvslt ~num~0 (_ bv100 32)))} is VALID [2020-07-29 00:53:23,124 INFO L280 TraceCheckUtils]: 10: Hoare triple {396#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (bvslt ~num~0 (_ bv100 32)))} assume !~bvslt32(~newsize~0, ~num~0); {403#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (not (bvslt ~newsize~0 ~num~0)) (bvslt ~num~0 (_ bv100 32)))} is VALID [2020-07-29 00:53:23,125 INFO L280 TraceCheckUtils]: 11: Hoare triple {403#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (not (bvslt ~newsize~0 ~num~0)) (bvslt ~num~0 (_ bv100 32)))} #res.base, #res.offset := 0bv32, 0bv32; {403#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (not (bvslt ~newsize~0 ~num~0)) (bvslt ~num~0 (_ bv100 32)))} is VALID [2020-07-29 00:53:23,126 INFO L280 TraceCheckUtils]: 12: Hoare triple {403#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (not (bvslt ~newsize~0 ~num~0)) (bvslt ~num~0 (_ bv100 32)))} assume true; {403#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (not (bvslt ~newsize~0 ~num~0)) (bvslt ~num~0 (_ bv100 32)))} is VALID [2020-07-29 00:53:23,129 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {403#(and (bvsgt ~num~0 (_ bv0 32)) (= ~newsize~0 |old(~newsize~0)|) (not (bvslt ~newsize~0 ~num~0)) (bvslt ~num~0 (_ bv100 32)))} {392#(and (bvsgt ~num~0 (_ bv0 32)) (bvslt ~num~0 (_ bv100 32)) (= ~newsize~0 (_ bv0 32)))} #77#return; {366#false} is VALID [2020-07-29 00:53:23,130 INFO L280 TraceCheckUtils]: 14: Hoare triple {366#false} havoc #t~ret5.base, #t~ret5.offset;#res := 0bv32; {366#false} is VALID [2020-07-29 00:53:23,130 INFO L280 TraceCheckUtils]: 15: Hoare triple {366#false} assume !(#valid == old(#valid)); {366#false} is VALID [2020-07-29 00:53:23,132 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:23,132 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-29 00:53:23,305 INFO L280 TraceCheckUtils]: 15: Hoare triple {366#false} assume !(#valid == old(#valid)); {366#false} is VALID [2020-07-29 00:53:23,306 INFO L280 TraceCheckUtils]: 14: Hoare triple {366#false} havoc #t~ret5.base, #t~ret5.offset;#res := 0bv32; {366#false} is VALID [2020-07-29 00:53:23,308 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {429#(not (bvslt |old(~newsize~0)| ~num~0))} {425#(bvslt ~newsize~0 ~num~0)} #77#return; {366#false} is VALID [2020-07-29 00:53:23,309 INFO L280 TraceCheckUtils]: 12: Hoare triple {429#(not (bvslt |old(~newsize~0)| ~num~0))} assume true; {429#(not (bvslt |old(~newsize~0)| ~num~0))} is VALID [2020-07-29 00:53:23,309 INFO L280 TraceCheckUtils]: 11: Hoare triple {429#(not (bvslt |old(~newsize~0)| ~num~0))} #res.base, #res.offset := 0bv32, 0bv32; {429#(not (bvslt |old(~newsize~0)| ~num~0))} is VALID [2020-07-29 00:53:23,310 INFO L280 TraceCheckUtils]: 10: Hoare triple {439#(or (bvslt ~newsize~0 ~num~0) (not (bvslt |old(~newsize~0)| ~num~0)))} assume !~bvslt32(~newsize~0, ~num~0); {429#(not (bvslt |old(~newsize~0)| ~num~0))} is VALID [2020-07-29 00:53:23,311 INFO L280 TraceCheckUtils]: 9: Hoare triple {439#(or (bvslt ~newsize~0 ~num~0) (not (bvslt |old(~newsize~0)| ~num~0)))} ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset;~a~0.base, ~a~0.offset := ~arg.base, ~arg.offset; {439#(or (bvslt ~newsize~0 ~num~0) (not (bvslt |old(~newsize~0)| ~num~0)))} is VALID [2020-07-29 00:53:23,312 INFO L263 TraceCheckUtils]: 8: Hoare triple {425#(bvslt ~newsize~0 ~num~0)} call #t~ret5.base, #t~ret5.offset := expandArray(~a~1.base, ~a~1.offset); {439#(or (bvslt ~newsize~0 ~num~0) (not (bvslt |old(~newsize~0)| ~num~0)))} is VALID [2020-07-29 00:53:23,313 INFO L280 TraceCheckUtils]: 7: Hoare triple {446#(bvslt (_ bv0 32) ~num~0)} assume !(~a~1.base == 0bv32 && ~a~1.offset == 0bv32);~newsize~0 := 0bv32; {425#(bvslt ~newsize~0 ~num~0)} is VALID [2020-07-29 00:53:23,314 INFO L280 TraceCheckUtils]: 6: Hoare triple {365#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {446#(bvslt (_ bv0 32) ~num~0)} is VALID [2020-07-29 00:53:23,314 INFO L280 TraceCheckUtils]: 5: Hoare triple {365#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {365#true} is VALID [2020-07-29 00:53:23,315 INFO L263 TraceCheckUtils]: 4: Hoare triple {365#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {365#true} is VALID [2020-07-29 00:53:23,315 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {365#true} {365#true} #81#return; {365#true} is VALID [2020-07-29 00:53:23,315 INFO L280 TraceCheckUtils]: 2: Hoare triple {365#true} assume true; {365#true} is VALID [2020-07-29 00:53:23,316 INFO L280 TraceCheckUtils]: 1: Hoare triple {365#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {365#true} is VALID [2020-07-29 00:53:23,316 INFO L263 TraceCheckUtils]: 0: Hoare triple {365#true} call ULTIMATE.init(); {365#true} is VALID [2020-07-29 00:53:23,322 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:23,322 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1423276469] [2020-07-29 00:53:23,323 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-29 00:53:23,323 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6, 6] imperfect sequences [] total 10 [2020-07-29 00:53:23,324 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1097398573] [2020-07-29 00:53:23,324 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 16 [2020-07-29 00:53:23,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-29 00:53:23,325 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-29 00:53:23,374 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:23,374 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-29 00:53:23,374 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-29 00:53:23,375 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-29 00:53:23,375 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2020-07-29 00:53:23,375 INFO L87 Difference]: Start difference. First operand 26 states and 27 transitions. Second operand 10 states. [2020-07-29 00:53:23,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:23,996 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2020-07-29 00:53:23,996 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-29 00:53:23,996 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 16 [2020-07-29 00:53:23,997 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-29 00:53:23,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-29 00:53:24,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 29 transitions. [2020-07-29 00:53:24,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-29 00:53:24,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 29 transitions. [2020-07-29 00:53:24,011 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 29 transitions. [2020-07-29 00:53:24,086 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:24,088 INFO L225 Difference]: With dead ends: 27 [2020-07-29 00:53:24,089 INFO L226 Difference]: Without dead ends: 27 [2020-07-29 00:53:24,089 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2020-07-29 00:53:24,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2020-07-29 00:53:24,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2020-07-29 00:53:24,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-29 00:53:24,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2020-07-29 00:53:24,092 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2020-07-29 00:53:24,093 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2020-07-29 00:53:24,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:24,098 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2020-07-29 00:53:24,099 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2020-07-29 00:53:24,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:24,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:24,100 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2020-07-29 00:53:24,100 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2020-07-29 00:53:24,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:24,112 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2020-07-29 00:53:24,112 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2020-07-29 00:53:24,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:24,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:24,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-29 00:53:24,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-29 00:53:24,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2020-07-29 00:53:24,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 28 transitions. [2020-07-29 00:53:24,117 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 28 transitions. Word has length 16 [2020-07-29 00:53:24,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-29 00:53:24,118 INFO L479 AbstractCegarLoop]: Abstraction has 27 states and 28 transitions. [2020-07-29 00:53:24,118 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-29 00:53:24,118 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2020-07-29 00:53:24,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2020-07-29 00:53:24,119 INFO L414 BasicCegarLoop]: Found error trace [2020-07-29 00:53:24,120 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-29 00:53:24,331 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 mathsat -unsat_core_generation=3 [2020-07-29 00:53:24,331 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ENSURES_VIOLATIONMEMORY_LEAK, expandArrayErr1REQUIRES_VIOLATION, expandArrayErr0REQUIRES_VIOLATION]=== [2020-07-29 00:53:24,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-29 00:53:24,332 INFO L82 PathProgramCache]: Analyzing trace with hash 1792130560, now seen corresponding path program 1 times [2020-07-29 00:53:24,334 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-29 00:53:24,334 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [300438310] [2020-07-29 00:53:24,334 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2020-07-29 00:53:24,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:24,438 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2020-07-29 00:53:24,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:24,456 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-29 00:53:24,536 INFO L263 TraceCheckUtils]: 0: Hoare triple {580#true} call ULTIMATE.init(); {580#true} is VALID [2020-07-29 00:53:24,536 INFO L280 TraceCheckUtils]: 1: Hoare triple {580#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {580#true} is VALID [2020-07-29 00:53:24,536 INFO L280 TraceCheckUtils]: 2: Hoare triple {580#true} assume true; {580#true} is VALID [2020-07-29 00:53:24,537 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {580#true} {580#true} #81#return; {580#true} is VALID [2020-07-29 00:53:24,537 INFO L263 TraceCheckUtils]: 4: Hoare triple {580#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {580#true} is VALID [2020-07-29 00:53:24,537 INFO L280 TraceCheckUtils]: 5: Hoare triple {580#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {580#true} is VALID [2020-07-29 00:53:24,539 INFO L280 TraceCheckUtils]: 6: Hoare triple {580#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {603#(not (= main_~a~1.base (_ bv0 32)))} is VALID [2020-07-29 00:53:24,540 INFO L280 TraceCheckUtils]: 7: Hoare triple {603#(not (= main_~a~1.base (_ bv0 32)))} assume !(~a~1.base == 0bv32 && ~a~1.offset == 0bv32);~newsize~0 := 0bv32; {603#(not (= main_~a~1.base (_ bv0 32)))} is VALID [2020-07-29 00:53:24,542 INFO L263 TraceCheckUtils]: 8: Hoare triple {603#(not (= main_~a~1.base (_ bv0 32)))} call #t~ret5.base, #t~ret5.offset := expandArray(~a~1.base, ~a~1.offset); {610#(not (= (_ bv0 32) |expandArray_#in~arg.base|))} is VALID [2020-07-29 00:53:24,543 INFO L280 TraceCheckUtils]: 9: Hoare triple {610#(not (= (_ bv0 32) |expandArray_#in~arg.base|))} ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset;~a~0.base, ~a~0.offset := ~arg.base, ~arg.offset; {614#(not (= expandArray_~a~0.base (_ bv0 32)))} is VALID [2020-07-29 00:53:24,543 INFO L280 TraceCheckUtils]: 10: Hoare triple {614#(not (= expandArray_~a~0.base (_ bv0 32)))} assume !!~bvslt32(~newsize~0, ~num~0);~newsize~0 := ~bvadd32(1bv32, ~newsize~0);~b~0.base, ~b~0.offset := 0bv32, 0bv32; {614#(not (= expandArray_~a~0.base (_ bv0 32)))} is VALID [2020-07-29 00:53:24,544 INFO L263 TraceCheckUtils]: 11: Hoare triple {614#(not (= expandArray_~a~0.base (_ bv0 32)))} call #t~realloc~res2.base, #t~realloc~res2.offset := #Ultimate.C_realloc(~a~0.base, ~a~0.offset, ~bvmul32(4bv32, ~newsize~0)); {580#true} is VALID [2020-07-29 00:53:24,546 INFO L280 TraceCheckUtils]: 12: Hoare triple {580#true} assume ptr.base == 0bv32 && ptr.offset == 0bv32;call #res.base, #res.offset := #Ultimate.allocOnHeap(size); {624#(= (_ bv0 32) |#Ultimate.C_realloc_ptr.base|)} is VALID [2020-07-29 00:53:24,546 INFO L280 TraceCheckUtils]: 13: Hoare triple {624#(= (_ bv0 32) |#Ultimate.C_realloc_ptr.base|)} assume true; {624#(= (_ bv0 32) |#Ultimate.C_realloc_ptr.base|)} is VALID [2020-07-29 00:53:24,548 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {624#(= (_ bv0 32) |#Ultimate.C_realloc_ptr.base|)} {614#(not (= expandArray_~a~0.base (_ bv0 32)))} #79#return; {581#false} is VALID [2020-07-29 00:53:24,549 INFO L280 TraceCheckUtils]: 15: Hoare triple {581#false} ~b~0.base, ~b~0.offset := #t~realloc~res2.base, #t~realloc~res2.offset;havoc #t~realloc~res2.base, #t~realloc~res2.offset; {581#false} is VALID [2020-07-29 00:53:24,549 INFO L280 TraceCheckUtils]: 16: Hoare triple {581#false} assume !(1bv1 == #valid[~b~0.base]); {581#false} is VALID [2020-07-29 00:53:24,550 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:24,550 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-29 00:53:24,603 INFO L280 TraceCheckUtils]: 16: Hoare triple {581#false} assume !(1bv1 == #valid[~b~0.base]); {581#false} is VALID [2020-07-29 00:53:24,603 INFO L280 TraceCheckUtils]: 15: Hoare triple {581#false} ~b~0.base, ~b~0.offset := #t~realloc~res2.base, #t~realloc~res2.offset;havoc #t~realloc~res2.base, #t~realloc~res2.offset; {581#false} is VALID [2020-07-29 00:53:24,605 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {624#(= (_ bv0 32) |#Ultimate.C_realloc_ptr.base|)} {614#(not (= expandArray_~a~0.base (_ bv0 32)))} #79#return; {581#false} is VALID [2020-07-29 00:53:24,606 INFO L280 TraceCheckUtils]: 13: Hoare triple {624#(= (_ bv0 32) |#Ultimate.C_realloc_ptr.base|)} assume true; {624#(= (_ bv0 32) |#Ultimate.C_realloc_ptr.base|)} is VALID [2020-07-29 00:53:24,606 INFO L280 TraceCheckUtils]: 12: Hoare triple {580#true} assume ptr.base == 0bv32 && ptr.offset == 0bv32;call #res.base, #res.offset := #Ultimate.allocOnHeap(size); {624#(= (_ bv0 32) |#Ultimate.C_realloc_ptr.base|)} is VALID [2020-07-29 00:53:24,607 INFO L263 TraceCheckUtils]: 11: Hoare triple {614#(not (= expandArray_~a~0.base (_ bv0 32)))} call #t~realloc~res2.base, #t~realloc~res2.offset := #Ultimate.C_realloc(~a~0.base, ~a~0.offset, ~bvmul32(4bv32, ~newsize~0)); {580#true} is VALID [2020-07-29 00:53:24,608 INFO L280 TraceCheckUtils]: 10: Hoare triple {614#(not (= expandArray_~a~0.base (_ bv0 32)))} assume !!~bvslt32(~newsize~0, ~num~0);~newsize~0 := ~bvadd32(1bv32, ~newsize~0);~b~0.base, ~b~0.offset := 0bv32, 0bv32; {614#(not (= expandArray_~a~0.base (_ bv0 32)))} is VALID [2020-07-29 00:53:24,608 INFO L280 TraceCheckUtils]: 9: Hoare triple {610#(not (= (_ bv0 32) |expandArray_#in~arg.base|))} ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset;~a~0.base, ~a~0.offset := ~arg.base, ~arg.offset; {614#(not (= expandArray_~a~0.base (_ bv0 32)))} is VALID [2020-07-29 00:53:24,609 INFO L263 TraceCheckUtils]: 8: Hoare triple {603#(not (= main_~a~1.base (_ bv0 32)))} call #t~ret5.base, #t~ret5.offset := expandArray(~a~1.base, ~a~1.offset); {610#(not (= (_ bv0 32) |expandArray_#in~arg.base|))} is VALID [2020-07-29 00:53:24,610 INFO L280 TraceCheckUtils]: 7: Hoare triple {603#(not (= main_~a~1.base (_ bv0 32)))} assume !(~a~1.base == 0bv32 && ~a~1.offset == 0bv32);~newsize~0 := 0bv32; {603#(not (= main_~a~1.base (_ bv0 32)))} is VALID [2020-07-29 00:53:24,610 INFO L280 TraceCheckUtils]: 6: Hoare triple {580#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {603#(not (= main_~a~1.base (_ bv0 32)))} is VALID [2020-07-29 00:53:24,610 INFO L280 TraceCheckUtils]: 5: Hoare triple {580#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {580#true} is VALID [2020-07-29 00:53:24,611 INFO L263 TraceCheckUtils]: 4: Hoare triple {580#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {580#true} is VALID [2020-07-29 00:53:24,611 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {580#true} {580#true} #81#return; {580#true} is VALID [2020-07-29 00:53:24,611 INFO L280 TraceCheckUtils]: 2: Hoare triple {580#true} assume true; {580#true} is VALID [2020-07-29 00:53:24,611 INFO L280 TraceCheckUtils]: 1: Hoare triple {580#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {580#true} is VALID [2020-07-29 00:53:24,611 INFO L263 TraceCheckUtils]: 0: Hoare triple {580#true} call ULTIMATE.init(); {580#true} is VALID [2020-07-29 00:53:24,612 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:24,613 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [300438310] [2020-07-29 00:53:24,613 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-29 00:53:24,613 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6, 6] imperfect sequences [] total 6 [2020-07-29 00:53:24,613 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [927929652] [2020-07-29 00:53:24,614 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 17 [2020-07-29 00:53:24,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-29 00:53:24,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-29 00:53:24,648 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:24,648 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-29 00:53:24,648 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-29 00:53:24,649 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-29 00:53:24,649 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-29 00:53:24,649 INFO L87 Difference]: Start difference. First operand 27 states and 28 transitions. Second operand 6 states. [2020-07-29 00:53:24,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:24,953 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2020-07-29 00:53:24,953 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-29 00:53:24,953 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 17 [2020-07-29 00:53:24,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-29 00:53:24,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-29 00:53:24,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 38 transitions. [2020-07-29 00:53:24,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-29 00:53:24,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 38 transitions. [2020-07-29 00:53:24,959 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 38 transitions. [2020-07-29 00:53:25,026 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:25,029 INFO L225 Difference]: With dead ends: 35 [2020-07-29 00:53:25,029 INFO L226 Difference]: Without dead ends: 35 [2020-07-29 00:53:25,031 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2020-07-29 00:53:25,032 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2020-07-29 00:53:25,036 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 30. [2020-07-29 00:53:25,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-29 00:53:25,036 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 30 states. [2020-07-29 00:53:25,036 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 30 states. [2020-07-29 00:53:25,037 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 30 states. [2020-07-29 00:53:25,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:25,040 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2020-07-29 00:53:25,040 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 37 transitions. [2020-07-29 00:53:25,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:25,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:25,041 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 35 states. [2020-07-29 00:53:25,041 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 35 states. [2020-07-29 00:53:25,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:25,045 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2020-07-29 00:53:25,045 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 37 transitions. [2020-07-29 00:53:25,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:25,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:25,046 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-29 00:53:25,046 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-29 00:53:25,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2020-07-29 00:53:25,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 32 transitions. [2020-07-29 00:53:25,049 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 32 transitions. Word has length 17 [2020-07-29 00:53:25,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-29 00:53:25,049 INFO L479 AbstractCegarLoop]: Abstraction has 30 states and 32 transitions. [2020-07-29 00:53:25,049 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-29 00:53:25,049 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2020-07-29 00:53:25,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2020-07-29 00:53:25,050 INFO L414 BasicCegarLoop]: Found error trace [2020-07-29 00:53:25,050 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-29 00:53:25,262 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 mathsat -unsat_core_generation=3 [2020-07-29 00:53:25,263 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ENSURES_VIOLATIONMEMORY_LEAK, expandArrayErr1REQUIRES_VIOLATION, expandArrayErr0REQUIRES_VIOLATION]=== [2020-07-29 00:53:25,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-29 00:53:25,264 INFO L82 PathProgramCache]: Analyzing trace with hash 1793054081, now seen corresponding path program 1 times [2020-07-29 00:53:25,265 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-29 00:53:25,265 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [322195451] [2020-07-29 00:53:25,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2020-07-29 00:53:25,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:25,364 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-29 00:53:25,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:25,378 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-29 00:53:25,452 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-29 00:53:25,453 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 25 [2020-07-29 00:53:25,454 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-29 00:53:25,476 INFO L624 ElimStorePlain]: treesize reduction 10, result has 60.0 percent of original size [2020-07-29 00:53:25,479 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-29 00:53:25,479 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:9, output treesize:5 [2020-07-29 00:53:25,483 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-29 00:53:25,483 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_44|, |#Ultimate.C_realloc_ptr.base|]. (= |#valid| (store (store |v_#valid_44| |#Ultimate.C_realloc_ptr.base| (_ bv0 1)) |#Ultimate.C_realloc_#res.base| (_ bv1 1))) [2020-07-29 00:53:25,484 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv1 1) (select |#valid| |#Ultimate.C_realloc_#res.base|)) [2020-07-29 00:53:25,516 INFO L263 TraceCheckUtils]: 0: Hoare triple {824#true} call ULTIMATE.init(); {824#true} is VALID [2020-07-29 00:53:25,517 INFO L280 TraceCheckUtils]: 1: Hoare triple {824#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {824#true} is VALID [2020-07-29 00:53:25,518 INFO L280 TraceCheckUtils]: 2: Hoare triple {824#true} assume true; {824#true} is VALID [2020-07-29 00:53:25,518 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {824#true} {824#true} #81#return; {824#true} is VALID [2020-07-29 00:53:25,519 INFO L263 TraceCheckUtils]: 4: Hoare triple {824#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {824#true} is VALID [2020-07-29 00:53:25,519 INFO L280 TraceCheckUtils]: 5: Hoare triple {824#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {824#true} is VALID [2020-07-29 00:53:25,520 INFO L280 TraceCheckUtils]: 6: Hoare triple {824#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {824#true} is VALID [2020-07-29 00:53:25,520 INFO L280 TraceCheckUtils]: 7: Hoare triple {824#true} assume !(~a~1.base == 0bv32 && ~a~1.offset == 0bv32);~newsize~0 := 0bv32; {824#true} is VALID [2020-07-29 00:53:25,520 INFO L263 TraceCheckUtils]: 8: Hoare triple {824#true} call #t~ret5.base, #t~ret5.offset := expandArray(~a~1.base, ~a~1.offset); {824#true} is VALID [2020-07-29 00:53:25,521 INFO L280 TraceCheckUtils]: 9: Hoare triple {824#true} ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset;~a~0.base, ~a~0.offset := ~arg.base, ~arg.offset; {824#true} is VALID [2020-07-29 00:53:25,521 INFO L280 TraceCheckUtils]: 10: Hoare triple {824#true} assume !!~bvslt32(~newsize~0, ~num~0);~newsize~0 := ~bvadd32(1bv32, ~newsize~0);~b~0.base, ~b~0.offset := 0bv32, 0bv32; {824#true} is VALID [2020-07-29 00:53:25,522 INFO L263 TraceCheckUtils]: 11: Hoare triple {824#true} call #t~realloc~res2.base, #t~realloc~res2.offset := #Ultimate.C_realloc(~a~0.base, ~a~0.offset, ~bvmul32(4bv32, ~newsize~0)); {824#true} is VALID [2020-07-29 00:53:25,531 INFO L280 TraceCheckUtils]: 12: Hoare triple {824#true} assume !(ptr.base == 0bv32 && ptr.offset == 0bv32);call ULTIMATE.dealloc(ptr.base, ptr.offset);call #res.base, #res.offset := #Ultimate.allocOnHeap(size);#memory_int := ~storeAtPointerBaseAddress~int(#memory_int, #res.base, ~selectAtPointerBaseAddress~int(#memory_int, ptr.base)); {865#(= (_ bv1 1) (select |#valid| |#Ultimate.C_realloc_#res.base|))} is VALID [2020-07-29 00:53:25,532 INFO L280 TraceCheckUtils]: 13: Hoare triple {865#(= (_ bv1 1) (select |#valid| |#Ultimate.C_realloc_#res.base|))} assume true; {865#(= (_ bv1 1) (select |#valid| |#Ultimate.C_realloc_#res.base|))} is VALID [2020-07-29 00:53:25,535 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {865#(= (_ bv1 1) (select |#valid| |#Ultimate.C_realloc_#res.base|))} {824#true} #79#return; {872#(= (bvadd (select |#valid| |expandArray_#t~realloc~res2.base|) (_ bv1 1)) (_ bv0 1))} is VALID [2020-07-29 00:53:25,535 INFO L280 TraceCheckUtils]: 15: Hoare triple {872#(= (bvadd (select |#valid| |expandArray_#t~realloc~res2.base|) (_ bv1 1)) (_ bv0 1))} ~b~0.base, ~b~0.offset := #t~realloc~res2.base, #t~realloc~res2.offset;havoc #t~realloc~res2.base, #t~realloc~res2.offset; {876#(= (bvadd (select |#valid| expandArray_~b~0.base) (_ bv1 1)) (_ bv0 1))} is VALID [2020-07-29 00:53:25,536 INFO L280 TraceCheckUtils]: 16: Hoare triple {876#(= (bvadd (select |#valid| expandArray_~b~0.base) (_ bv1 1)) (_ bv0 1))} assume !(1bv1 == #valid[~b~0.base]); {825#false} is VALID [2020-07-29 00:53:25,538 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:25,538 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-29 00:53:25,619 INFO L280 TraceCheckUtils]: 16: Hoare triple {876#(= (bvadd (select |#valid| expandArray_~b~0.base) (_ bv1 1)) (_ bv0 1))} assume !(1bv1 == #valid[~b~0.base]); {825#false} is VALID [2020-07-29 00:53:25,620 INFO L280 TraceCheckUtils]: 15: Hoare triple {872#(= (bvadd (select |#valid| |expandArray_#t~realloc~res2.base|) (_ bv1 1)) (_ bv0 1))} ~b~0.base, ~b~0.offset := #t~realloc~res2.base, #t~realloc~res2.offset;havoc #t~realloc~res2.base, #t~realloc~res2.offset; {876#(= (bvadd (select |#valid| expandArray_~b~0.base) (_ bv1 1)) (_ bv0 1))} is VALID [2020-07-29 00:53:25,628 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {865#(= (_ bv1 1) (select |#valid| |#Ultimate.C_realloc_#res.base|))} {824#true} #79#return; {872#(= (bvadd (select |#valid| |expandArray_#t~realloc~res2.base|) (_ bv1 1)) (_ bv0 1))} is VALID [2020-07-29 00:53:25,628 INFO L280 TraceCheckUtils]: 13: Hoare triple {865#(= (_ bv1 1) (select |#valid| |#Ultimate.C_realloc_#res.base|))} assume true; {865#(= (_ bv1 1) (select |#valid| |#Ultimate.C_realloc_#res.base|))} is VALID [2020-07-29 00:53:25,635 INFO L280 TraceCheckUtils]: 12: Hoare triple {824#true} assume !(ptr.base == 0bv32 && ptr.offset == 0bv32);call ULTIMATE.dealloc(ptr.base, ptr.offset);call #res.base, #res.offset := #Ultimate.allocOnHeap(size);#memory_int := ~storeAtPointerBaseAddress~int(#memory_int, #res.base, ~selectAtPointerBaseAddress~int(#memory_int, ptr.base)); {865#(= (_ bv1 1) (select |#valid| |#Ultimate.C_realloc_#res.base|))} is VALID [2020-07-29 00:53:25,635 INFO L263 TraceCheckUtils]: 11: Hoare triple {824#true} call #t~realloc~res2.base, #t~realloc~res2.offset := #Ultimate.C_realloc(~a~0.base, ~a~0.offset, ~bvmul32(4bv32, ~newsize~0)); {824#true} is VALID [2020-07-29 00:53:25,635 INFO L280 TraceCheckUtils]: 10: Hoare triple {824#true} assume !!~bvslt32(~newsize~0, ~num~0);~newsize~0 := ~bvadd32(1bv32, ~newsize~0);~b~0.base, ~b~0.offset := 0bv32, 0bv32; {824#true} is VALID [2020-07-29 00:53:25,636 INFO L280 TraceCheckUtils]: 9: Hoare triple {824#true} ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset;~a~0.base, ~a~0.offset := ~arg.base, ~arg.offset; {824#true} is VALID [2020-07-29 00:53:25,636 INFO L263 TraceCheckUtils]: 8: Hoare triple {824#true} call #t~ret5.base, #t~ret5.offset := expandArray(~a~1.base, ~a~1.offset); {824#true} is VALID [2020-07-29 00:53:25,636 INFO L280 TraceCheckUtils]: 7: Hoare triple {824#true} assume !(~a~1.base == 0bv32 && ~a~1.offset == 0bv32);~newsize~0 := 0bv32; {824#true} is VALID [2020-07-29 00:53:25,636 INFO L280 TraceCheckUtils]: 6: Hoare triple {824#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {824#true} is VALID [2020-07-29 00:53:25,637 INFO L280 TraceCheckUtils]: 5: Hoare triple {824#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {824#true} is VALID [2020-07-29 00:53:25,637 INFO L263 TraceCheckUtils]: 4: Hoare triple {824#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {824#true} is VALID [2020-07-29 00:53:25,637 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {824#true} {824#true} #81#return; {824#true} is VALID [2020-07-29 00:53:25,638 INFO L280 TraceCheckUtils]: 2: Hoare triple {824#true} assume true; {824#true} is VALID [2020-07-29 00:53:25,638 INFO L280 TraceCheckUtils]: 1: Hoare triple {824#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {824#true} is VALID [2020-07-29 00:53:25,639 INFO L263 TraceCheckUtils]: 0: Hoare triple {824#true} call ULTIMATE.init(); {824#true} is VALID [2020-07-29 00:53:25,639 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:25,640 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [322195451] [2020-07-29 00:53:25,640 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-29 00:53:25,640 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4, 4] imperfect sequences [] total 4 [2020-07-29 00:53:25,640 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [676424456] [2020-07-29 00:53:25,641 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 17 [2020-07-29 00:53:25,641 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-29 00:53:25,641 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-29 00:53:25,667 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:25,667 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-29 00:53:25,668 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-29 00:53:25,668 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-29 00:53:25,668 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-29 00:53:25,669 INFO L87 Difference]: Start difference. First operand 30 states and 32 transitions. Second operand 5 states. [2020-07-29 00:53:25,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:25,936 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2020-07-29 00:53:25,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-29 00:53:25,936 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 17 [2020-07-29 00:53:25,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-29 00:53:25,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-29 00:53:25,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 28 transitions. [2020-07-29 00:53:25,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-29 00:53:25,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 28 transitions. [2020-07-29 00:53:25,940 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 28 transitions. [2020-07-29 00:53:25,997 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:25,999 INFO L225 Difference]: With dead ends: 29 [2020-07-29 00:53:26,000 INFO L226 Difference]: Without dead ends: 29 [2020-07-29 00:53:26,000 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-29 00:53:26,001 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2020-07-29 00:53:26,004 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2020-07-29 00:53:26,004 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-29 00:53:26,004 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 29 states. [2020-07-29 00:53:26,005 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2020-07-29 00:53:26,005 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2020-07-29 00:53:26,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:26,007 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2020-07-29 00:53:26,007 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2020-07-29 00:53:26,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:26,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:26,008 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2020-07-29 00:53:26,008 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2020-07-29 00:53:26,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:26,010 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2020-07-29 00:53:26,010 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2020-07-29 00:53:26,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:26,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:26,011 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-29 00:53:26,011 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-29 00:53:26,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2020-07-29 00:53:26,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 31 transitions. [2020-07-29 00:53:26,013 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 31 transitions. Word has length 17 [2020-07-29 00:53:26,013 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-29 00:53:26,014 INFO L479 AbstractCegarLoop]: Abstraction has 29 states and 31 transitions. [2020-07-29 00:53:26,014 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-29 00:53:26,014 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2020-07-29 00:53:26,014 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2020-07-29 00:53:26,014 INFO L414 BasicCegarLoop]: Found error trace [2020-07-29 00:53:26,014 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-29 00:53:26,219 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 mathsat -unsat_core_generation=3 [2020-07-29 00:53:26,220 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ENSURES_VIOLATIONMEMORY_LEAK, expandArrayErr1REQUIRES_VIOLATION, expandArrayErr0REQUIRES_VIOLATION]=== [2020-07-29 00:53:26,221 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-29 00:53:26,221 INFO L82 PathProgramCache]: Analyzing trace with hash 1793054082, now seen corresponding path program 1 times [2020-07-29 00:53:26,222 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-29 00:53:26,223 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [890048983] [2020-07-29 00:53:26,223 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 7 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with mathsat -unsat_core_generation=3 [2020-07-29 00:53:26,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:26,333 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 12 conjunts are in the unsatisfiable core [2020-07-29 00:53:26,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-29 00:53:26,357 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-29 00:53:26,402 INFO L384 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 [2020-07-29 00:53:26,402 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-29 00:53:26,413 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-29 00:53:26,414 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-29 00:53:26,414 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:14 [2020-07-29 00:53:26,420 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-29 00:53:26,421 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#length_30|]. (and (= (store |v_#length_30| |#Ultimate.C_realloc_#res.base| |#Ultimate.C_realloc_size|) |#length|) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)) (= |#Ultimate.C_realloc_#res.offset| (_ bv0 32))) [2020-07-29 00:53:26,421 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (select |#length| |#Ultimate.C_realloc_#res.base|) |#Ultimate.C_realloc_size|) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)) (= |#Ultimate.C_realloc_#res.offset| (_ bv0 32))) [2020-07-29 00:53:26,494 INFO L263 TraceCheckUtils]: 0: Hoare triple {1046#true} call ULTIMATE.init(); {1046#true} is VALID [2020-07-29 00:53:26,494 INFO L280 TraceCheckUtils]: 1: Hoare triple {1046#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {1046#true} is VALID [2020-07-29 00:53:26,495 INFO L280 TraceCheckUtils]: 2: Hoare triple {1046#true} assume true; {1046#true} is VALID [2020-07-29 00:53:26,495 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1046#true} {1046#true} #81#return; {1046#true} is VALID [2020-07-29 00:53:26,495 INFO L263 TraceCheckUtils]: 4: Hoare triple {1046#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {1046#true} is VALID [2020-07-29 00:53:26,495 INFO L280 TraceCheckUtils]: 5: Hoare triple {1046#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {1046#true} is VALID [2020-07-29 00:53:26,496 INFO L280 TraceCheckUtils]: 6: Hoare triple {1046#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {1046#true} is VALID [2020-07-29 00:53:26,496 INFO L280 TraceCheckUtils]: 7: Hoare triple {1046#true} assume !(~a~1.base == 0bv32 && ~a~1.offset == 0bv32);~newsize~0 := 0bv32; {1072#(= ~newsize~0 (_ bv0 32))} is VALID [2020-07-29 00:53:26,498 INFO L263 TraceCheckUtils]: 8: Hoare triple {1072#(= ~newsize~0 (_ bv0 32))} call #t~ret5.base, #t~ret5.offset := expandArray(~a~1.base, ~a~1.offset); {1072#(= ~newsize~0 (_ bv0 32))} is VALID [2020-07-29 00:53:26,498 INFO L280 TraceCheckUtils]: 9: Hoare triple {1072#(= ~newsize~0 (_ bv0 32))} ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset;~a~0.base, ~a~0.offset := ~arg.base, ~arg.offset; {1072#(= ~newsize~0 (_ bv0 32))} is VALID [2020-07-29 00:53:26,500 INFO L280 TraceCheckUtils]: 10: Hoare triple {1072#(= ~newsize~0 (_ bv0 32))} assume !!~bvslt32(~newsize~0, ~num~0);~newsize~0 := ~bvadd32(1bv32, ~newsize~0);~b~0.base, ~b~0.offset := 0bv32, 0bv32; {1082#(= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-29 00:53:26,501 INFO L263 TraceCheckUtils]: 11: Hoare triple {1082#(= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32))} call #t~realloc~res2.base, #t~realloc~res2.offset := #Ultimate.C_realloc(~a~0.base, ~a~0.offset, ~bvmul32(4bv32, ~newsize~0)); {1082#(= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-29 00:53:26,503 INFO L280 TraceCheckUtils]: 12: Hoare triple {1082#(= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32))} assume !(ptr.base == 0bv32 && ptr.offset == 0bv32);call ULTIMATE.dealloc(ptr.base, ptr.offset);call #res.base, #res.offset := #Ultimate.allocOnHeap(size);#memory_int := ~storeAtPointerBaseAddress~int(#memory_int, #res.base, ~selectAtPointerBaseAddress~int(#memory_int, ptr.base)); {1089#(and (= (select |#length| |#Ultimate.C_realloc_#res.base|) |#Ultimate.C_realloc_size|) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)) (= |#Ultimate.C_realloc_#res.offset| (_ bv0 32)))} is VALID [2020-07-29 00:53:26,504 INFO L280 TraceCheckUtils]: 13: Hoare triple {1089#(and (= (select |#length| |#Ultimate.C_realloc_#res.base|) |#Ultimate.C_realloc_size|) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)) (= |#Ultimate.C_realloc_#res.offset| (_ bv0 32)))} assume true; {1089#(and (= (select |#length| |#Ultimate.C_realloc_#res.base|) |#Ultimate.C_realloc_size|) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)) (= |#Ultimate.C_realloc_#res.offset| (_ bv0 32)))} is VALID [2020-07-29 00:53:26,506 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1089#(and (= (select |#length| |#Ultimate.C_realloc_#res.base|) |#Ultimate.C_realloc_size|) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)) (= |#Ultimate.C_realloc_#res.offset| (_ bv0 32)))} {1082#(= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32))} #79#return; {1096#(and (= (select |#length| |expandArray_#t~realloc~res2.base|) (bvmul (_ bv4 32) ~newsize~0)) (= (_ bv0 32) |expandArray_#t~realloc~res2.offset|) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-29 00:53:26,507 INFO L280 TraceCheckUtils]: 15: Hoare triple {1096#(and (= (select |#length| |expandArray_#t~realloc~res2.base|) (bvmul (_ bv4 32) ~newsize~0)) (= (_ bv0 32) |expandArray_#t~realloc~res2.offset|) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)))} ~b~0.base, ~b~0.offset := #t~realloc~res2.base, #t~realloc~res2.offset;havoc #t~realloc~res2.base, #t~realloc~res2.offset; {1100#(and (= (bvmul (_ bv4 32) ~newsize~0) (select |#length| expandArray_~b~0.base)) (= expandArray_~b~0.offset (_ bv0 32)) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-29 00:53:26,508 INFO L280 TraceCheckUtils]: 16: Hoare triple {1100#(and (= (bvmul (_ bv4 32) ~newsize~0) (select |#length| expandArray_~b~0.base)) (= expandArray_~b~0.offset (_ bv0 32)) (= (bvadd ~newsize~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~b~0.offset, ~bvmul32(4bv32, ~bvsub32(~newsize~0, 1bv32)))), #length[~b~0.base]) && ~bvule32(~bvadd32(~b~0.offset, ~bvmul32(4bv32, ~bvsub32(~newsize~0, 1bv32))), ~bvadd32(4bv32, ~bvadd32(~b~0.offset, ~bvmul32(4bv32, ~bvsub32(~newsize~0, 1bv32)))))) && ~bvule32(0bv32, ~bvadd32(~b~0.offset, ~bvmul32(4bv32, ~bvsub32(~newsize~0, 1bv32))))); {1047#false} is VALID [2020-07-29 00:53:26,510 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:26,510 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-29 00:53:28,678 INFO L280 TraceCheckUtils]: 16: Hoare triple {1104#(and (bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) expandArray_~b~0.offset) (select |#length| expandArray_~b~0.base)) (bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) expandArray_~b~0.offset (_ bv4294967292 32)) (bvadd (bvmul ~newsize~0 (_ bv4 32)) expandArray_~b~0.offset)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~b~0.offset, ~bvmul32(4bv32, ~bvsub32(~newsize~0, 1bv32)))), #length[~b~0.base]) && ~bvule32(~bvadd32(~b~0.offset, ~bvmul32(4bv32, ~bvsub32(~newsize~0, 1bv32))), ~bvadd32(4bv32, ~bvadd32(~b~0.offset, ~bvmul32(4bv32, ~bvsub32(~newsize~0, 1bv32)))))) && ~bvule32(0bv32, ~bvadd32(~b~0.offset, ~bvmul32(4bv32, ~bvsub32(~newsize~0, 1bv32))))); {1047#false} is VALID [2020-07-29 00:53:28,680 INFO L280 TraceCheckUtils]: 15: Hoare triple {1108#(and (bvule (bvadd |expandArray_#t~realloc~res2.offset| (bvmul ~newsize~0 (_ bv4 32))) (select |#length| |expandArray_#t~realloc~res2.base|)) (bvule (bvadd |expandArray_#t~realloc~res2.offset| (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvadd |expandArray_#t~realloc~res2.offset| (bvmul ~newsize~0 (_ bv4 32)))))} ~b~0.base, ~b~0.offset := #t~realloc~res2.base, #t~realloc~res2.offset;havoc #t~realloc~res2.base, #t~realloc~res2.offset; {1104#(and (bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) expandArray_~b~0.offset) (select |#length| expandArray_~b~0.base)) (bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) expandArray_~b~0.offset (_ bv4294967292 32)) (bvadd (bvmul ~newsize~0 (_ bv4 32)) expandArray_~b~0.offset)))} is VALID [2020-07-29 00:53:28,682 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1116#(or (and (bvule (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32))) (select |#length| |#Ultimate.C_realloc_#res.base|)) (bvule (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32))))) (not (= (bvmul (_ bv4 32) ~newsize~0) |#Ultimate.C_realloc_size|)) (not (bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvmul ~newsize~0 (_ bv4 32)))))} {1112#(bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvmul ~newsize~0 (_ bv4 32)))} #79#return; {1108#(and (bvule (bvadd |expandArray_#t~realloc~res2.offset| (bvmul ~newsize~0 (_ bv4 32))) (select |#length| |expandArray_#t~realloc~res2.base|)) (bvule (bvadd |expandArray_#t~realloc~res2.offset| (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvadd |expandArray_#t~realloc~res2.offset| (bvmul ~newsize~0 (_ bv4 32)))))} is VALID [2020-07-29 00:53:28,683 INFO L280 TraceCheckUtils]: 13: Hoare triple {1116#(or (and (bvule (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32))) (select |#length| |#Ultimate.C_realloc_#res.base|)) (bvule (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32))))) (not (= (bvmul (_ bv4 32) ~newsize~0) |#Ultimate.C_realloc_size|)) (not (bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvmul ~newsize~0 (_ bv4 32)))))} assume true; {1116#(or (and (bvule (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32))) (select |#length| |#Ultimate.C_realloc_#res.base|)) (bvule (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32))))) (not (= (bvmul (_ bv4 32) ~newsize~0) |#Ultimate.C_realloc_size|)) (not (bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvmul ~newsize~0 (_ bv4 32)))))} is VALID [2020-07-29 00:53:28,690 INFO L280 TraceCheckUtils]: 12: Hoare triple {1046#true} assume !(ptr.base == 0bv32 && ptr.offset == 0bv32);call ULTIMATE.dealloc(ptr.base, ptr.offset);call #res.base, #res.offset := #Ultimate.allocOnHeap(size);#memory_int := ~storeAtPointerBaseAddress~int(#memory_int, #res.base, ~selectAtPointerBaseAddress~int(#memory_int, ptr.base)); {1116#(or (and (bvule (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32))) (select |#length| |#Ultimate.C_realloc_#res.base|)) (bvule (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvadd |#Ultimate.C_realloc_#res.offset| (bvmul ~newsize~0 (_ bv4 32))))) (not (= (bvmul (_ bv4 32) ~newsize~0) |#Ultimate.C_realloc_size|)) (not (bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvmul ~newsize~0 (_ bv4 32)))))} is VALID [2020-07-29 00:53:28,690 INFO L263 TraceCheckUtils]: 11: Hoare triple {1112#(bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvmul ~newsize~0 (_ bv4 32)))} call #t~realloc~res2.base, #t~realloc~res2.offset := #Ultimate.C_realloc(~a~0.base, ~a~0.offset, ~bvmul32(4bv32, ~newsize~0)); {1046#true} is VALID [2020-07-29 00:53:28,699 INFO L280 TraceCheckUtils]: 10: Hoare triple {1126#(bvule (bvmul ~newsize~0 (_ bv4 32)) (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4 32)))} assume !!~bvslt32(~newsize~0, ~num~0);~newsize~0 := ~bvadd32(1bv32, ~newsize~0);~b~0.base, ~b~0.offset := 0bv32, 0bv32; {1112#(bvule (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4294967292 32)) (bvmul ~newsize~0 (_ bv4 32)))} is VALID [2020-07-29 00:53:28,700 INFO L280 TraceCheckUtils]: 9: Hoare triple {1126#(bvule (bvmul ~newsize~0 (_ bv4 32)) (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4 32)))} ~arg.base, ~arg.offset := #in~arg.base, #in~arg.offset;~a~0.base, ~a~0.offset := ~arg.base, ~arg.offset; {1126#(bvule (bvmul ~newsize~0 (_ bv4 32)) (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4 32)))} is VALID [2020-07-29 00:53:28,701 INFO L263 TraceCheckUtils]: 8: Hoare triple {1126#(bvule (bvmul ~newsize~0 (_ bv4 32)) (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4 32)))} call #t~ret5.base, #t~ret5.offset := expandArray(~a~1.base, ~a~1.offset); {1126#(bvule (bvmul ~newsize~0 (_ bv4 32)) (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4 32)))} is VALID [2020-07-29 00:53:28,701 INFO L280 TraceCheckUtils]: 7: Hoare triple {1046#true} assume !(~a~1.base == 0bv32 && ~a~1.offset == 0bv32);~newsize~0 := 0bv32; {1126#(bvule (bvmul ~newsize~0 (_ bv4 32)) (bvadd (bvmul ~newsize~0 (_ bv4 32)) (_ bv4 32)))} is VALID [2020-07-29 00:53:28,702 INFO L280 TraceCheckUtils]: 6: Hoare triple {1046#true} assume !!(~bvsgt32(~num~0, 0bv32) && ~bvslt32(~num~0, 100bv32));call #t~malloc4.base, #t~malloc4.offset := #Ultimate.allocOnHeap(4bv32);~a~1.base, ~a~1.offset := #t~malloc4.base, #t~malloc4.offset; {1046#true} is VALID [2020-07-29 00:53:28,702 INFO L280 TraceCheckUtils]: 5: Hoare triple {1046#true} ~argc := #in~argc;~argv.base, ~argv.offset := #in~argv.base, #in~argv.offset;~num~0 := #t~nondet3;havoc #t~nondet3; {1046#true} is VALID [2020-07-29 00:53:28,702 INFO L263 TraceCheckUtils]: 4: Hoare triple {1046#true} call #t~ret6 := main(#in~argc, #in~argv.base, #in~argv.offset); {1046#true} is VALID [2020-07-29 00:53:28,702 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1046#true} {1046#true} #81#return; {1046#true} is VALID [2020-07-29 00:53:28,703 INFO L280 TraceCheckUtils]: 2: Hoare triple {1046#true} assume true; {1046#true} is VALID [2020-07-29 00:53:28,703 INFO L280 TraceCheckUtils]: 1: Hoare triple {1046#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;~num~0 := 0bv32;~ind~0 := 0bv32;~newsize~0 := 0bv32;~i~0 := 1bv32; {1046#true} is VALID [2020-07-29 00:53:28,703 INFO L263 TraceCheckUtils]: 0: Hoare triple {1046#true} call ULTIMATE.init(); {1046#true} is VALID [2020-07-29 00:53:28,704 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-29 00:53:28,705 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [890048983] [2020-07-29 00:53:28,705 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-29 00:53:28,705 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6, 6] imperfect sequences [] total 11 [2020-07-29 00:53:28,705 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [102366107] [2020-07-29 00:53:28,706 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 17 [2020-07-29 00:53:28,707 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-29 00:53:28,707 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-29 00:53:29,011 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:29,011 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-29 00:53:29,011 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-29 00:53:29,011 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-29 00:53:29,012 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2020-07-29 00:53:29,012 INFO L87 Difference]: Start difference. First operand 29 states and 31 transitions. Second operand 12 states. [2020-07-29 00:53:29,870 WARN L193 SmtUtils]: Spent 122.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 23 [2020-07-29 00:53:30,761 WARN L193 SmtUtils]: Spent 118.00 ms on a formula simplification. DAG size of input: 22 DAG size of output: 21 [2020-07-29 00:53:31,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:31,579 INFO L93 Difference]: Finished difference Result 76 states and 79 transitions. [2020-07-29 00:53:31,579 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-29 00:53:31,579 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 17 [2020-07-29 00:53:31,579 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-29 00:53:31,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-29 00:53:31,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 75 transitions. [2020-07-29 00:53:31,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-29 00:53:31,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 75 transitions. [2020-07-29 00:53:31,588 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 75 transitions. [2020-07-29 00:53:32,205 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-29 00:53:32,209 INFO L225 Difference]: With dead ends: 76 [2020-07-29 00:53:32,209 INFO L226 Difference]: Without dead ends: 74 [2020-07-29 00:53:32,209 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 23 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 67 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=84, Invalid=258, Unknown=0, NotChecked=0, Total=342 [2020-07-29 00:53:32,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-29 00:53:32,215 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 48. [2020-07-29 00:53:32,216 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-29 00:53:32,216 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 48 states. [2020-07-29 00:53:32,216 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 48 states. [2020-07-29 00:53:32,216 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 48 states. [2020-07-29 00:53:32,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:32,220 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-29 00:53:32,220 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-29 00:53:32,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:32,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:32,222 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 74 states. [2020-07-29 00:53:32,222 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 74 states. [2020-07-29 00:53:32,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-29 00:53:32,226 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-29 00:53:32,226 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-29 00:53:32,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-29 00:53:32,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-29 00:53:32,228 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-29 00:53:32,228 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-29 00:53:32,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2020-07-29 00:53:32,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2020-07-29 00:53:32,230 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 17 [2020-07-29 00:53:32,231 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-29 00:53:32,231 INFO L479 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2020-07-29 00:53:32,231 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-29 00:53:32,231 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2020-07-29 00:53:32,232 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2020-07-29 00:53:32,232 INFO L414 BasicCegarLoop]: Found error trace [2020-07-29 00:53:32,232 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-29 00:53:32,452 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 mathsat -unsat_core_generation=3 [2020-07-29 00:53:32,453 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ENSURES_VIOLATIONMEMORY_LEAK, expandArrayErr1REQUIRES_VIOLATION, expandArrayErr0REQUIRES_VIOLATION]=== [2020-07-29 00:53:32,454 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-29 00:53:32,454 INFO L82 PathProgramCache]: Analyzing trace with hash 494948438, now seen corresponding path program 1 times [2020-07-29 00:53:32,454 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-29 00:53:32,455 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1908420260] [2020-07-29 00:53:32,455 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 8 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with mathsat -unsat_core_generation=3 [2020-07-29 00:53:32,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-29 00:53:32,595 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-29 00:53:32,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-29 00:53:32,666 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-29 00:53:32,706 INFO L174 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2020-07-29 00:53:32,706 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-29 00:53:32,907 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 mathsat -unsat_core_generation=3 [2020-07-29 00:53:32,931 WARN L417 cessorBacktranslator]: Generated EnsuresSpecification ensures #valid == old(#valid); is not ensure(true) [2020-07-29 00:53:32,956 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 29.07 12:53:32 BoogieIcfgContainer [2020-07-29 00:53:32,957 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-29 00:53:32,957 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2020-07-29 00:53:32,958 INFO L271 PluginConnector]: Initializing Witness Printer... [2020-07-29 00:53:32,958 INFO L275 PluginConnector]: Witness Printer initialized [2020-07-29 00:53:32,958 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 29.07 12:53:21" (3/4) ... [2020-07-29 00:53:32,962 INFO L140 WitnessPrinter]: No result that supports witness generation found [2020-07-29 00:53:32,963 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2020-07-29 00:53:32,965 INFO L168 Benchmark]: Toolchain (without parser) took 13477.31 ms. Allocated memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: 318.8 MB). Free memory was 956.2 MB in the beginning and 1.2 GB in the end (delta: -228.3 MB). Peak memory consumption was 90.4 MB. Max. memory is 11.5 GB. [2020-07-29 00:53:32,965 INFO L168 Benchmark]: CDTParser took 0.27 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-29 00:53:32,966 INFO L168 Benchmark]: CACSL2BoogieTranslator took 704.47 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 143.7 MB). Free memory was 950.9 MB in the beginning and 1.1 GB in the end (delta: -162.7 MB). Peak memory consumption was 15.2 MB. Max. memory is 11.5 GB. [2020-07-29 00:53:32,967 INFO L168 Benchmark]: Boogie Preprocessor took 75.87 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. [2020-07-29 00:53:32,968 INFO L168 Benchmark]: RCFGBuilder took 771.91 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 57.3 MB). Peak memory consumption was 57.3 MB. Max. memory is 11.5 GB. [2020-07-29 00:53:32,969 INFO L168 Benchmark]: TraceAbstraction took 11912.00 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 175.1 MB). Free memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: -134.8 MB). Peak memory consumption was 40.3 MB. Max. memory is 11.5 GB. [2020-07-29 00:53:32,969 INFO L168 Benchmark]: Witness Printer took 5.37 ms. Allocated memory is still 1.3 GB. Free memory is still 1.2 GB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-29 00:53:32,972 INFO L336 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.27 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 704.47 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 143.7 MB). Free memory was 950.9 MB in the beginning and 1.1 GB in the end (delta: -162.7 MB). Peak memory consumption was 15.2 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 75.87 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. * RCFGBuilder took 771.91 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 57.3 MB). Peak memory consumption was 57.3 MB. Max. memory is 11.5 GB. * TraceAbstraction took 11912.00 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 175.1 MB). Free memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: -134.8 MB). Peak memory consumption was 40.3 MB. Max. memory is 11.5 GB. * Witness Printer took 5.37 ms. Allocated memory is still 1.3 GB. Free memory is still 1.2 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Generated EnsuresSpecification ensures #valid == old(#valid); is not ensure(true) * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 525]: Unable to prove that all allocated memory was freed Unable to prove that all allocated memory was freed Reason: overapproximation of memtrack at line 525. Possible FailurePath: [L512] int num; [L513] int ind, newsize, i = 1; VAL [\old(i)=5, \old(ind)=6, \old(newsize)=7, \old(num)=9, i=1, ind=0, newsize=0, num=0] [L526] num = __VERIFIER_nondet_int() [L527] COND FALSE !(!(num > 0 && num < 100)) [L530] int *a = (int *)malloc(sizeof(int)); VAL [\old(argc)=11, \old(newsize)=0, \old(num)=0, a={1:0}, argc=11, argv={13:12}, argv={13:12}, i=1, ind=0, malloc(sizeof(int))={1:0}, newsize=0, num=1] [L531] COND FALSE !(a == ((void *)0)) [L534] newsize = 0 VAL [\old(argc)=11, \old(newsize)=0, \old(num)=0, a={1:0}, argc=11, argv={13:12}, argv={13:12}, i=1, ind=0, malloc(sizeof(int))={1:0}, newsize=0, num=1] [L535] CALL expandArray(a) VAL [\old(newsize)=0, \old(num)=0, arg={1:0}, i=1, ind=0, newsize=0, num=1] [L515] int *a = (int *)arg; VAL [\old(newsize)=0, \old(num)=0, a={1:0}, arg={1:0}, arg={1:0}, i=1, ind=0, newsize=0, num=1] [L516] COND TRUE newsize < num [L517] newsize = newsize + 1 [L518] int *b = ((void *)0); VAL [\old(newsize)=0, \old(num)=0, a={1:0}, arg={1:0}, arg={1:0}, b={0:0}, i=1, ind=0, newsize=1, num=1] [L519] EXPR, FCALL realloc(a, sizeof(int) * newsize) VAL [\old(newsize)=0, \old(num)=0, a={1:0}, arg={1:0}, arg={1:0}, b={0:0}, i=1, ind=0, newsize=1, num=1, realloc(a, sizeof(int) * newsize)={1:0}] [L519] b = realloc(a, sizeof(int) * newsize) [L520] b[newsize - 1] = i VAL [\old(newsize)=0, \old(num)=0, a={1:0}, arg={1:0}, arg={1:0}, b={1:0}, i=1, ind=0, newsize=1, num=1] [L521] a = b VAL [\old(newsize)=0, \old(num)=0, a={1:0}, arg={1:0}, arg={1:0}, b={1:0}, i=1, ind=0, newsize=1, num=1] [L516] COND FALSE !(newsize < num) VAL [\old(newsize)=0, \old(num)=0, a={1:0}, arg={1:0}, arg={1:0}, b={1:0}, i=1, ind=0, newsize=1, num=1] [L523] return 0; VAL [\old(newsize)=0, \old(num)=0, \result={0:0}, a={1:0}, arg={1:0}, arg={1:0}, b={1:0}, i=1, ind=0, newsize=1, num=1] [L535] RET expandArray(a) VAL [\old(argc)=11, \old(newsize)=0, \old(num)=0, a={1:0}, argc=11, argv={13:12}, argv={13:12}, expandArray(a)={0:0}, i=1, ind=0, malloc(sizeof(int))={1:0}, newsize=1, num=1] [L536] return 0; VAL [\old(argc)=11, \old(newsize)=0, \old(num)=0, \result=0, a={1:0}, argc=11, argv={13:12}, argv={13:12}, i=1, ind=0, malloc(sizeof(int))={1:0}, newsize=1, num=1] - StatisticsResult: Ultimate Automizer benchmark data CFG has 11 procedures, 50 locations, 3 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 11.8s, OverallIterations: 7, TraceHistogramMax: 1, AutomataDifference: 5.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 145 SDtfs, 151 SDslu, 254 SDs, 0 SdLazy, 239 SolverSat, 46 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 1.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 172 GetRequests, 135 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 1.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=48occurred in iteration=6, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 6 MinimizatonAttempts, 36 StatesRemovedByMinimization, 3 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 3.4s InterpolantComputationTime, 108 NumberOfCodeBlocks, 108 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 156 ConstructedInterpolants, 0 QuantifiedInterpolants, 8597 SizeOfPredicates, 10 NumberOfNonLiveVariables, 492 ConjunctsInSsa, 34 ConjunctsInUnsatCore, 12 InterpolantComputations, 12 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request...