./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/array-memsafety/diff-alloca-2.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/array-memsafety/diff-alloca-2.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 5cc33a4b6801f9f06dbbb17ff694aba4439c76c6a2b62ec290c2132cc01ea0fe --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:40:20,981 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:40:20,982 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:40:21,018 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:40:21,019 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:40:21,023 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:40:21,024 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:40:21,029 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:40:21,031 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:40:21,036 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:40:21,037 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:40:21,037 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:40:21,039 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:40:21,041 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:40:21,042 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:40:21,044 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:40:21,047 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:40:21,048 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:40:21,049 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:40:21,052 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:40:21,056 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:40:21,056 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:40:21,057 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:40:21,058 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:40:21,060 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:40:21,061 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:40:21,062 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:40:21,063 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:40:21,064 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:40:21,065 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:40:21,066 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:40:21,066 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:40:21,068 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:40:21,069 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:40:21,070 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:40:21,070 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:40:21,071 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:40:21,071 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:40:21,071 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:40:21,072 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:40:21,072 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:40:21,073 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-20 23:40:21,103 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:40:21,105 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:40:21,106 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:40:21,106 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:40:21,107 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:40:21,107 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:40:21,107 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:40:21,108 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:40:21,108 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:40:21,108 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:40:21,109 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:40:21,109 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:40:21,109 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:40:21,109 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:40:21,110 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:40:21,110 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:40:21,110 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:40:21,110 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:40:21,110 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:40:21,111 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:40:21,111 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:40:21,111 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:40:21,111 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:40:21,111 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:40:21,112 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:40:21,112 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:40:21,112 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:40:21,113 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:40:21,114 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:40:21,114 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:40:21,114 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 5cc33a4b6801f9f06dbbb17ff694aba4439c76c6a2b62ec290c2132cc01ea0fe [2022-02-20 23:40:21,322 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:40:21,342 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:40:21,344 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:40:21,346 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:40:21,346 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:40:21,347 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-memsafety/diff-alloca-2.i [2022-02-20 23:40:21,407 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/36c92f56c/f5aa4f71e0e84171bde62ed5a0e15808/FLAGb0355130f [2022-02-20 23:40:21,807 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:40:21,807 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-memsafety/diff-alloca-2.i [2022-02-20 23:40:21,823 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/36c92f56c/f5aa4f71e0e84171bde62ed5a0e15808/FLAGb0355130f [2022-02-20 23:40:21,835 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/36c92f56c/f5aa4f71e0e84171bde62ed5a0e15808 [2022-02-20 23:40:21,839 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:40:21,841 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:40:21,842 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:40:21,842 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:40:21,845 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:40:21,846 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:40:21" (1/1) ... [2022-02-20 23:40:21,847 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@72371743 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:21, skipping insertion in model container [2022-02-20 23:40:21,847 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:40:21" (1/1) ... [2022-02-20 23:40:21,852 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:40:21,890 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:40:22,138 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:40:22,155 ERROR L326 MainTranslator]: Unsupported Syntax: Found a cast between two array/pointer types where the value type is smaller than the cast-to type while using memory model HoenickeLindenmann_Original (while Not using bitvector translation) [2022-02-20 23:40:22,156 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@577e6ce9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:22, skipping insertion in model container [2022-02-20 23:40:22,156 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:40:22,156 INFO L184 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2022-02-20 23:40:22,158 INFO L158 Benchmark]: Toolchain (without parser) took 316.62ms. Allocated memory is still 127.9MB. Free memory was 97.6MB in the beginning and 98.9MB in the end (delta: -1.3MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 23:40:22,159 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 127.9MB. Free memory is still 81.7MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:40:22,159 INFO L158 Benchmark]: CACSL2BoogieTranslator took 314.36ms. Allocated memory is still 127.9MB. Free memory was 97.6MB in the beginning and 98.9MB in the end (delta: -1.3MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 23:40:22,160 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.17ms. Allocated memory is still 127.9MB. Free memory is still 81.7MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 314.36ms. Allocated memory is still 127.9MB. Free memory was 97.6MB in the beginning and 98.9MB in the end (delta: -1.3MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - UnsupportedSyntaxResult [Line: 545]: Unsupported Syntax Found a cast between two array/pointer types where the value type is smaller than the cast-to type while using memory model HoenickeLindenmann_Original (while Not using bitvector translation) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/array-memsafety/diff-alloca-2.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 5cc33a4b6801f9f06dbbb17ff694aba4439c76c6a2b62ec290c2132cc01ea0fe --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:40:23,877 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:40:23,879 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:40:23,921 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:40:23,922 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:40:23,924 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:40:23,926 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:40:23,931 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:40:23,933 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:40:23,937 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:40:23,939 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:40:23,943 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:40:23,943 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:40:23,946 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:40:23,947 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:40:23,950 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:40:23,951 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:40:23,951 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:40:23,953 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:40:23,959 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:40:23,960 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:40:23,961 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:40:23,962 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:40:23,963 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:40:23,969 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:40:23,970 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:40:23,970 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:40:23,971 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:40:23,972 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:40:23,972 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:40:23,973 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:40:23,973 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:40:23,975 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:40:23,975 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:40:23,976 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:40:23,977 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:40:23,977 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:40:23,978 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:40:23,978 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:40:23,979 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:40:23,980 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:40:23,981 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf [2022-02-20 23:40:24,020 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:40:24,021 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:40:24,022 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:40:24,022 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:40:24,023 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:40:24,023 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:40:24,024 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:40:24,024 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:40:24,025 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:40:24,025 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:40:24,026 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:40:24,026 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:40:24,026 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:40:24,026 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:40:24,026 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:40:24,027 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:40:24,027 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:40:24,027 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:40:24,027 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:40:24,027 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:40:24,028 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:40:24,028 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:40:24,028 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:40:24,028 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:40:24,029 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:40:24,029 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:40:24,029 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:40:24,029 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:40:24,029 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:40:24,030 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:40:24,030 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:40:24,030 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:40:24,030 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:40:24,031 INFO L138 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 5cc33a4b6801f9f06dbbb17ff694aba4439c76c6a2b62ec290c2132cc01ea0fe [2022-02-20 23:40:24,377 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:40:24,402 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:40:24,405 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:40:24,406 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:40:24,408 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:40:24,409 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-memsafety/diff-alloca-2.i [2022-02-20 23:40:24,467 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bcff38def/7000e52fe74945c5934a585de06e46e8/FLAG180d7976d [2022-02-20 23:40:24,905 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:40:24,906 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-memsafety/diff-alloca-2.i [2022-02-20 23:40:24,916 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bcff38def/7000e52fe74945c5934a585de06e46e8/FLAG180d7976d [2022-02-20 23:40:25,285 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bcff38def/7000e52fe74945c5934a585de06e46e8 [2022-02-20 23:40:25,287 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:40:25,288 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:40:25,289 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:40:25,289 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:40:25,294 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:40:25,298 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,299 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5b7c047d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25, skipping insertion in model container [2022-02-20 23:40:25,299 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,305 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:40:25,351 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:40:25,665 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:40:25,679 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 23:40:25,687 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:40:25,728 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:40:25,735 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:40:25,770 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:40:25,809 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:40:25,809 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25 WrapperNode [2022-02-20 23:40:25,810 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:40:25,811 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:40:25,811 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:40:25,811 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:40:25,816 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,845 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,881 INFO L137 Inliner]: procedures = 117, calls = 18, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 96 [2022-02-20 23:40:25,881 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:40:25,882 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:40:25,882 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:40:25,882 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:40:25,889 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,890 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,893 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,893 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,925 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,928 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,930 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,940 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:40:25,941 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:40:25,941 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:40:25,941 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:40:25,942 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (1/1) ... [2022-02-20 23:40:25,951 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:40:25,963 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:40:25,976 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 23:40:25,996 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 23:40:26,020 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 23:40:26,021 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:40:26,021 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:40:26,021 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:40:26,021 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:40:26,021 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:40:26,172 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:40:26,173 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:40:26,608 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:40:26,613 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:40:26,614 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-02-20 23:40:26,615 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:40:26 BoogieIcfgContainer [2022-02-20 23:40:26,615 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:40:26,616 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:40:26,617 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:40:26,619 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:40:26,619 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:40:25" (1/3) ... [2022-02-20 23:40:26,620 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@53aa9f90 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:40:26, skipping insertion in model container [2022-02-20 23:40:26,620 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:40:25" (2/3) ... [2022-02-20 23:40:26,620 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@53aa9f90 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:40:26, skipping insertion in model container [2022-02-20 23:40:26,620 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:40:26" (3/3) ... [2022-02-20 23:40:26,622 INFO L111 eAbstractionObserver]: Analyzing ICFG diff-alloca-2.i [2022-02-20 23:40:26,625 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:40:26,626 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 13 error locations. [2022-02-20 23:40:26,668 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:40:26,673 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 23:40:26,674 INFO L340 AbstractCegarLoop]: Starting to check reachability of 13 error locations. [2022-02-20 23:40:26,685 INFO L276 IsEmpty]: Start isEmpty. Operand has 42 states, 28 states have (on average 1.8928571428571428) internal successors, (53), 41 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:26,689 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:40:26,689 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:26,690 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:26,690 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:26,699 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:26,699 INFO L85 PathProgramCache]: Analyzing trace with hash 1805029096, now seen corresponding path program 1 times [2022-02-20 23:40:26,708 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:26,709 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1593989651] [2022-02-20 23:40:26,709 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:26,710 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:26,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:26,711 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:26,713 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 23:40:26,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:26,786 INFO L263 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:40:26,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:26,799 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:26,930 INFO L356 Elim1Store]: treesize reduction 39, result has 29.1 percent of original size [2022-02-20 23:40:26,931 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 3 case distinctions, treesize of input 23 treesize of output 29 [2022-02-20 23:40:27,076 INFO L290 TraceCheckUtils]: 0: Hoare triple {45#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {45#true} is VALID [2022-02-20 23:40:27,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {45#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {45#true} is VALID [2022-02-20 23:40:27,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {45#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {45#true} is VALID [2022-02-20 23:40:27,077 INFO L290 TraceCheckUtils]: 3: Hoare triple {45#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {45#true} is VALID [2022-02-20 23:40:27,082 INFO L290 TraceCheckUtils]: 4: Hoare triple {45#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {62#(and (exists ((|ULTIMATE.start_main_#t~malloc11#1.base| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_#t~malloc11#1.base|))) (_ bv1 1)) (_ bv0 1)) (not (= |ULTIMATE.start_main_#t~malloc11#1.base| |ULTIMATE.start_main_~A~0#1.base|)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~A~0#1.base|)) (_ bv1 1))))} is VALID [2022-02-20 23:40:27,084 INFO L290 TraceCheckUtils]: 5: Hoare triple {62#(and (exists ((|ULTIMATE.start_main_#t~malloc11#1.base| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_#t~malloc11#1.base|))) (_ bv1 1)) (_ bv0 1)) (not (= |ULTIMATE.start_main_#t~malloc11#1.base| |ULTIMATE.start_main_~A~0#1.base|)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~A~0#1.base|)) (_ bv1 1))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {62#(and (exists ((|ULTIMATE.start_main_#t~malloc11#1.base| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_#t~malloc11#1.base|))) (_ bv1 1)) (_ bv0 1)) (not (= |ULTIMATE.start_main_#t~malloc11#1.base| |ULTIMATE.start_main_~A~0#1.base|)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~A~0#1.base|)) (_ bv1 1))))} is VALID [2022-02-20 23:40:27,085 INFO L290 TraceCheckUtils]: 6: Hoare triple {62#(and (exists ((|ULTIMATE.start_main_#t~malloc11#1.base| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_#t~malloc11#1.base|))) (_ bv1 1)) (_ bv0 1)) (not (= |ULTIMATE.start_main_#t~malloc11#1.base| |ULTIMATE.start_main_~A~0#1.base|)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~A~0#1.base|)) (_ bv1 1))))} assume !(1bv1 == #valid[main_~A~0#1.base]); {46#false} is VALID [2022-02-20 23:40:27,086 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:27,087 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:27,087 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:27,092 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1593989651] [2022-02-20 23:40:27,092 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1593989651] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:27,093 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:27,094 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:40:27,095 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [329413654] [2022-02-20 23:40:27,096 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:27,101 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:27,102 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:27,105 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:27,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:27,133 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:40:27,133 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:27,156 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:40:27,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:27,160 INFO L87 Difference]: Start difference. First operand has 42 states, 28 states have (on average 1.8928571428571428) internal successors, (53), 41 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:27,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:27,374 INFO L93 Difference]: Finished difference Result 49 states and 60 transitions. [2022-02-20 23:40:27,375 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:40:27,375 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:27,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:27,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:27,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 67 transitions. [2022-02-20 23:40:27,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:27,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 67 transitions. [2022-02-20 23:40:27,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 67 transitions. [2022-02-20 23:40:27,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:27,519 INFO L225 Difference]: With dead ends: 49 [2022-02-20 23:40:27,521 INFO L226 Difference]: Without dead ends: 47 [2022-02-20 23:40:27,522 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:27,525 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 5 mSDsluCounter, 29 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 19 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:27,526 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 73 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 19 Unchecked, 0.0s Time] [2022-02-20 23:40:27,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-02-20 23:40:27,557 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-02-20 23:40:27,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:27,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 29 states have (on average 1.7586206896551724) internal successors, (51), 41 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:27,560 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 29 states have (on average 1.7586206896551724) internal successors, (51), 41 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:27,561 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 29 states have (on average 1.7586206896551724) internal successors, (51), 41 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:27,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:27,568 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-02-20 23:40:27,568 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 58 transitions. [2022-02-20 23:40:27,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:27,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:27,571 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 29 states have (on average 1.7586206896551724) internal successors, (51), 41 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 47 states. [2022-02-20 23:40:27,572 INFO L87 Difference]: Start difference. First operand has 42 states, 29 states have (on average 1.7586206896551724) internal successors, (51), 41 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 47 states. [2022-02-20 23:40:27,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:27,581 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-02-20 23:40:27,581 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 58 transitions. [2022-02-20 23:40:27,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:27,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:27,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:27,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:27,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 29 states have (on average 1.7586206896551724) internal successors, (51), 41 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:27,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 51 transitions. [2022-02-20 23:40:27,589 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 51 transitions. Word has length 7 [2022-02-20 23:40:27,592 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:27,592 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 51 transitions. [2022-02-20 23:40:27,592 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:27,593 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 51 transitions. [2022-02-20 23:40:27,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:40:27,597 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:27,597 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:27,605 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:27,800 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:27,801 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:27,802 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:27,802 INFO L85 PathProgramCache]: Analyzing trace with hash 1805029097, now seen corresponding path program 1 times [2022-02-20 23:40:27,802 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:27,802 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1350652209] [2022-02-20 23:40:27,803 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:27,803 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:27,803 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:27,804 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:27,806 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 23:40:27,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:27,865 INFO L263 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:40:27,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:27,886 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:27,966 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:27,996 INFO L356 Elim1Store]: treesize reduction 24, result has 38.5 percent of original size [2022-02-20 23:40:27,997 INFO L390 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 2 case distinctions, treesize of input 12 treesize of output 20 [2022-02-20 23:40:28,007 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 9 [2022-02-20 23:40:28,087 INFO L290 TraceCheckUtils]: 0: Hoare triple {253#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {253#true} is VALID [2022-02-20 23:40:28,088 INFO L290 TraceCheckUtils]: 1: Hoare triple {253#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {253#true} is VALID [2022-02-20 23:40:28,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {253#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {264#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:28,089 INFO L290 TraceCheckUtils]: 3: Hoare triple {264#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {264#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:28,093 INFO L290 TraceCheckUtils]: 4: Hoare triple {264#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {271#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:28,094 INFO L290 TraceCheckUtils]: 5: Hoare triple {271#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {271#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:28,094 INFO L290 TraceCheckUtils]: 6: Hoare triple {271#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))), #length[main_~A~0#1.base]) && ~bvule32(~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), ~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))))) && ~bvule32(0bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)))); {254#false} is VALID [2022-02-20 23:40:28,095 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:28,095 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:28,095 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:28,095 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1350652209] [2022-02-20 23:40:28,096 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1350652209] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:28,096 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:28,096 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:40:28,096 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2135509607] [2022-02-20 23:40:28,096 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:28,098 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:28,098 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:28,098 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:28,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:28,114 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:28,114 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:28,115 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:28,115 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:28,115 INFO L87 Difference]: Start difference. First operand 42 states and 51 transitions. Second operand has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:28,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:28,867 INFO L93 Difference]: Finished difference Result 83 states and 98 transitions. [2022-02-20 23:40:28,867 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:28,867 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:28,867 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:28,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:28,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 96 transitions. [2022-02-20 23:40:28,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:28,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 96 transitions. [2022-02-20 23:40:28,871 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 96 transitions. [2022-02-20 23:40:29,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:29,002 INFO L225 Difference]: With dead ends: 83 [2022-02-20 23:40:29,003 INFO L226 Difference]: Without dead ends: 83 [2022-02-20 23:40:29,003 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:29,004 INFO L933 BasicCegarLoop]: 76 mSDtfsCounter, 47 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:29,005 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 167 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:40:29,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-02-20 23:40:29,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 46. [2022-02-20 23:40:29,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:29,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 46 states, 33 states have (on average 1.696969696969697) internal successors, (56), 45 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,010 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 46 states, 33 states have (on average 1.696969696969697) internal successors, (56), 45 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,010 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 46 states, 33 states have (on average 1.696969696969697) internal successors, (56), 45 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:29,013 INFO L93 Difference]: Finished difference Result 83 states and 98 transitions. [2022-02-20 23:40:29,014 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 98 transitions. [2022-02-20 23:40:29,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:29,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:29,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 33 states have (on average 1.696969696969697) internal successors, (56), 45 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 83 states. [2022-02-20 23:40:29,015 INFO L87 Difference]: Start difference. First operand has 46 states, 33 states have (on average 1.696969696969697) internal successors, (56), 45 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 83 states. [2022-02-20 23:40:29,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:29,019 INFO L93 Difference]: Finished difference Result 83 states and 98 transitions. [2022-02-20 23:40:29,019 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 98 transitions. [2022-02-20 23:40:29,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:29,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:29,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:29,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:29,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 33 states have (on average 1.696969696969697) internal successors, (56), 45 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 56 transitions. [2022-02-20 23:40:29,022 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 56 transitions. Word has length 7 [2022-02-20 23:40:29,022 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:29,022 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 56 transitions. [2022-02-20 23:40:29,023 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,023 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 56 transitions. [2022-02-20 23:40:29,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:40:29,023 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:29,024 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:29,036 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:29,232 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:29,233 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:29,233 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:29,234 INFO L85 PathProgramCache]: Analyzing trace with hash 1806876139, now seen corresponding path program 1 times [2022-02-20 23:40:29,234 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:29,234 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1138240237] [2022-02-20 23:40:29,234 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:29,235 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:29,235 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:29,236 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:29,239 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 23:40:29,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:29,283 INFO L263 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:40:29,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:29,296 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:29,367 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:29,402 INFO L356 Elim1Store]: treesize reduction 28, result has 37.8 percent of original size [2022-02-20 23:40:29,403 INFO L390 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 2 case distinctions, treesize of input 16 treesize of output 24 [2022-02-20 23:40:29,418 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 9 [2022-02-20 23:40:29,574 INFO L290 TraceCheckUtils]: 0: Hoare triple {574#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {574#true} is VALID [2022-02-20 23:40:29,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {574#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {574#true} is VALID [2022-02-20 23:40:29,576 INFO L290 TraceCheckUtils]: 2: Hoare triple {574#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {585#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:29,576 INFO L290 TraceCheckUtils]: 3: Hoare triple {585#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {585#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:29,586 INFO L290 TraceCheckUtils]: 4: Hoare triple {585#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {592#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32)) (|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:29,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {592#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32)) (|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {592#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32)) (|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:29,592 INFO L290 TraceCheckUtils]: 6: Hoare triple {592#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32)) (|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))), #length[main_~A~0#1.base]) && ~bvule32(~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), ~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))))) && ~bvule32(0bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)))); {575#false} is VALID [2022-02-20 23:40:29,593 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:29,593 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:29,593 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:29,593 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1138240237] [2022-02-20 23:40:29,594 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1138240237] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:29,594 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:29,594 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:40:29,594 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1700059681] [2022-02-20 23:40:29,594 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:29,595 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:29,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:29,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:29,625 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:29,625 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:29,626 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:29,626 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:29,626 INFO L87 Difference]: Start difference. First operand 46 states and 56 transitions. Second operand has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:29,841 INFO L93 Difference]: Finished difference Result 46 states and 55 transitions. [2022-02-20 23:40:29,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:40:29,841 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:40:29,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:29,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-02-20 23:40:29,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-02-20 23:40:29,849 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-02-20 23:40:29,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:29,947 INFO L225 Difference]: With dead ends: 46 [2022-02-20 23:40:29,947 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 23:40:29,947 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:29,948 INFO L933 BasicCegarLoop]: 43 mSDtfsCounter, 2 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 3 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 3 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 18 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:29,948 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 108 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 3 Invalid, 0 Unknown, 18 Unchecked, 0.0s Time] [2022-02-20 23:40:29,949 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 23:40:29,951 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-02-20 23:40:29,952 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:29,952 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 32 states have (on average 1.6875) internal successors, (54), 44 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,952 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 32 states have (on average 1.6875) internal successors, (54), 44 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,952 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 32 states have (on average 1.6875) internal successors, (54), 44 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:29,954 INFO L93 Difference]: Finished difference Result 46 states and 55 transitions. [2022-02-20 23:40:29,954 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 55 transitions. [2022-02-20 23:40:29,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:29,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:29,955 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 32 states have (on average 1.6875) internal successors, (54), 44 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 46 states. [2022-02-20 23:40:29,956 INFO L87 Difference]: Start difference. First operand has 45 states, 32 states have (on average 1.6875) internal successors, (54), 44 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 46 states. [2022-02-20 23:40:29,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:29,957 INFO L93 Difference]: Finished difference Result 46 states and 55 transitions. [2022-02-20 23:40:29,957 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 55 transitions. [2022-02-20 23:40:29,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:29,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:29,958 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:29,958 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:29,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 32 states have (on average 1.6875) internal successors, (54), 44 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 54 transitions. [2022-02-20 23:40:29,960 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 54 transitions. Word has length 7 [2022-02-20 23:40:29,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:29,961 INFO L470 AbstractCegarLoop]: Abstraction has 45 states and 54 transitions. [2022-02-20 23:40:29,961 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:29,961 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 54 transitions. [2022-02-20 23:40:29,961 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:40:29,962 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:29,962 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:29,973 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:30,170 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:30,171 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:30,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:30,172 INFO L85 PathProgramCache]: Analyzing trace with hash 1241130454, now seen corresponding path program 1 times [2022-02-20 23:40:30,173 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:30,175 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [904938234] [2022-02-20 23:40:30,175 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:30,176 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:30,176 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:30,184 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:30,186 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 23:40:30,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:30,238 INFO L263 TraceCheckSpWp]: Trace formula consists of 46 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:40:30,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:30,247 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:30,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {783#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {783#true} is VALID [2022-02-20 23:40:30,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {783#true} is VALID [2022-02-20 23:40:30,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {794#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:30,318 INFO L290 TraceCheckUtils]: 3: Hoare triple {794#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {794#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:30,319 INFO L290 TraceCheckUtils]: 4: Hoare triple {794#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {801#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:30,320 INFO L290 TraceCheckUtils]: 5: Hoare triple {801#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {784#false} is VALID [2022-02-20 23:40:30,320 INFO L290 TraceCheckUtils]: 6: Hoare triple {784#false} main_~i~2#1 := 0bv32; {784#false} is VALID [2022-02-20 23:40:30,320 INFO L290 TraceCheckUtils]: 7: Hoare triple {784#false} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {784#false} is VALID [2022-02-20 23:40:30,320 INFO L290 TraceCheckUtils]: 8: Hoare triple {784#false} assume !(1bv1 == #valid[main_~B~0#1.base]); {784#false} is VALID [2022-02-20 23:40:30,320 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:30,321 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:30,321 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:30,322 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [904938234] [2022-02-20 23:40:30,322 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [904938234] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:30,322 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:30,322 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:30,322 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1211200637] [2022-02-20 23:40:30,322 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:30,323 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:30,324 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:30,324 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:30,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:30,334 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:30,334 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:30,335 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:30,335 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:30,336 INFO L87 Difference]: Start difference. First operand 45 states and 54 transitions. Second operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:30,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:30,590 INFO L93 Difference]: Finished difference Result 47 states and 55 transitions. [2022-02-20 23:40:30,590 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:30,590 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:40:30,590 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:30,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:30,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 52 transitions. [2022-02-20 23:40:30,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:30,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 52 transitions. [2022-02-20 23:40:30,593 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 52 transitions. [2022-02-20 23:40:30,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:30,677 INFO L225 Difference]: With dead ends: 47 [2022-02-20 23:40:30,677 INFO L226 Difference]: Without dead ends: 47 [2022-02-20 23:40:30,677 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:30,678 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 48 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 17 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:30,678 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 78 Invalid, 17 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:30,679 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-02-20 23:40:30,681 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-02-20 23:40:30,681 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:30,681 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 41 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:30,681 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 41 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:30,682 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 41 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:30,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:30,683 INFO L93 Difference]: Finished difference Result 47 states and 55 transitions. [2022-02-20 23:40:30,683 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2022-02-20 23:40:30,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:30,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:30,684 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 41 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 47 states. [2022-02-20 23:40:30,684 INFO L87 Difference]: Start difference. First operand has 42 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 41 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 47 states. [2022-02-20 23:40:30,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:30,686 INFO L93 Difference]: Finished difference Result 47 states and 55 transitions. [2022-02-20 23:40:30,686 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2022-02-20 23:40:30,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:30,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:30,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:30,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:30,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 41 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:30,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 49 transitions. [2022-02-20 23:40:30,688 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 49 transitions. Word has length 9 [2022-02-20 23:40:30,689 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:30,689 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 49 transitions. [2022-02-20 23:40:30,689 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:30,689 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 49 transitions. [2022-02-20 23:40:30,690 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:40:30,690 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:30,690 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:30,701 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:30,899 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:30,899 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:30,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:30,900 INFO L85 PathProgramCache]: Analyzing trace with hash -1906083541, now seen corresponding path program 1 times [2022-02-20 23:40:30,900 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:30,900 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [66761953] [2022-02-20 23:40:30,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:30,901 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:30,901 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:30,902 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:30,903 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 23:40:30,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:30,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 57 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:40:30,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:30,955 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:31,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {996#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {996#true} is VALID [2022-02-20 23:40:31,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {996#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {996#true} is VALID [2022-02-20 23:40:31,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {996#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {1007#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:31,051 INFO L290 TraceCheckUtils]: 3: Hoare triple {1007#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {1007#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:31,053 INFO L290 TraceCheckUtils]: 4: Hoare triple {1007#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {1014#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:31,053 INFO L290 TraceCheckUtils]: 5: Hoare triple {1014#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {1014#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:31,054 INFO L290 TraceCheckUtils]: 6: Hoare triple {1014#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {1014#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:31,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {1014#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} havoc main_#t~nondet14#1; {1014#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:31,056 INFO L290 TraceCheckUtils]: 8: Hoare triple {1014#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {1027#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv1 32)))} is VALID [2022-02-20 23:40:31,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {1027#(and (= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv1 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {997#false} is VALID [2022-02-20 23:40:31,057 INFO L290 TraceCheckUtils]: 10: Hoare triple {997#false} assume !(1bv1 == #valid[main_~A~0#1.base]); {997#false} is VALID [2022-02-20 23:40:31,058 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:31,058 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:31,131 INFO L290 TraceCheckUtils]: 10: Hoare triple {997#false} assume !(1bv1 == #valid[main_~A~0#1.base]); {997#false} is VALID [2022-02-20 23:40:31,131 INFO L290 TraceCheckUtils]: 9: Hoare triple {1037#(not (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {997#false} is VALID [2022-02-20 23:40:31,132 INFO L290 TraceCheckUtils]: 8: Hoare triple {1041#(not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {1037#(not (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:31,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {1041#(not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|))} havoc main_#t~nondet14#1; {1041#(not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:31,133 INFO L290 TraceCheckUtils]: 6: Hoare triple {1041#(not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {1041#(not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:31,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {1041#(not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {1041#(not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:31,135 INFO L290 TraceCheckUtils]: 4: Hoare triple {1054#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {1041#(not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:31,135 INFO L290 TraceCheckUtils]: 3: Hoare triple {1054#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|))} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {1054#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:31,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {996#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {1054#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:31,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {996#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {996#true} is VALID [2022-02-20 23:40:31,142 INFO L290 TraceCheckUtils]: 0: Hoare triple {996#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {996#true} is VALID [2022-02-20 23:40:31,142 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:31,142 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:31,143 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [66761953] [2022-02-20 23:40:31,143 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [66761953] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:31,143 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:40:31,143 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-02-20 23:40:31,143 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1603212401] [2022-02-20 23:40:31,143 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:31,145 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:40:31,145 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:31,145 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:31,177 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:31,177 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:40:31,178 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:31,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:40:31,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:40:31,178 INFO L87 Difference]: Start difference. First operand 42 states and 49 transitions. Second operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:32,004 INFO L93 Difference]: Finished difference Result 78 states and 90 transitions. [2022-02-20 23:40:32,004 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:40:32,004 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:40:32,005 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:32,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-02-20 23:40:32,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-02-20 23:40:32,008 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 89 transitions. [2022-02-20 23:40:32,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:32,149 INFO L225 Difference]: With dead ends: 78 [2022-02-20 23:40:32,149 INFO L226 Difference]: Without dead ends: 78 [2022-02-20 23:40:32,149 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:40:32,150 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 72 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 234 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:32,150 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 234 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:32,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-02-20 23:40:32,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 49. [2022-02-20 23:40:32,153 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:32,154 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 49 states, 36 states have (on average 1.5833333333333333) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,154 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 49 states, 36 states have (on average 1.5833333333333333) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,154 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 49 states, 36 states have (on average 1.5833333333333333) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:32,156 INFO L93 Difference]: Finished difference Result 78 states and 90 transitions. [2022-02-20 23:40:32,156 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 90 transitions. [2022-02-20 23:40:32,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:32,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:32,157 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 36 states have (on average 1.5833333333333333) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 78 states. [2022-02-20 23:40:32,157 INFO L87 Difference]: Start difference. First operand has 49 states, 36 states have (on average 1.5833333333333333) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 78 states. [2022-02-20 23:40:32,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:32,159 INFO L93 Difference]: Finished difference Result 78 states and 90 transitions. [2022-02-20 23:40:32,159 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 90 transitions. [2022-02-20 23:40:32,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:32,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:32,160 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:32,160 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:32,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 36 states have (on average 1.5833333333333333) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 57 transitions. [2022-02-20 23:40:32,162 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 57 transitions. Word has length 11 [2022-02-20 23:40:32,162 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:32,162 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 57 transitions. [2022-02-20 23:40:32,162 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,162 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2022-02-20 23:40:32,163 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:40:32,163 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:32,163 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:32,174 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:32,374 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:32,374 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:32,375 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:32,375 INFO L85 PathProgramCache]: Analyzing trace with hash -1226025171, now seen corresponding path program 1 times [2022-02-20 23:40:32,375 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:32,375 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1448597169] [2022-02-20 23:40:32,375 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:32,375 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:32,376 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:32,377 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:32,378 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2022-02-20 23:40:32,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:32,441 INFO L263 TraceCheckSpWp]: Trace formula consists of 57 conjuncts, 2 conjunts are in the unsatisfiable core [2022-02-20 23:40:32,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:32,449 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:32,475 INFO L290 TraceCheckUtils]: 0: Hoare triple {1349#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {1349#true} is VALID [2022-02-20 23:40:32,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {1349#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {1349#true} is VALID [2022-02-20 23:40:32,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {1349#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {1349#true} is VALID [2022-02-20 23:40:32,477 INFO L290 TraceCheckUtils]: 3: Hoare triple {1349#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {1349#true} is VALID [2022-02-20 23:40:32,477 INFO L290 TraceCheckUtils]: 4: Hoare triple {1349#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {1349#true} is VALID [2022-02-20 23:40:32,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {1349#true} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {1349#true} is VALID [2022-02-20 23:40:32,478 INFO L290 TraceCheckUtils]: 6: Hoare triple {1349#true} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {1372#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:32,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {1372#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} havoc main_#t~nondet14#1; {1372#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:32,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {1372#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {1372#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:32,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {1372#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {1372#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:32,479 INFO L290 TraceCheckUtils]: 10: Hoare triple {1372#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} assume !(1bv1 == #valid[main_~A~0#1.base]); {1350#false} is VALID [2022-02-20 23:40:32,479 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:32,480 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:32,480 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:32,480 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1448597169] [2022-02-20 23:40:32,480 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1448597169] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:32,480 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:32,480 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:40:32,481 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [824232908] [2022-02-20 23:40:32,481 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:32,481 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:40:32,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:32,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:32,494 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:40:32,494 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:32,496 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:40:32,496 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:32,497 INFO L87 Difference]: Start difference. First operand 49 states and 57 transitions. Second operand has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:32,687 INFO L93 Difference]: Finished difference Result 48 states and 56 transitions. [2022-02-20 23:40:32,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:40:32,688 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:40:32,688 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:32,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 47 transitions. [2022-02-20 23:40:32,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 47 transitions. [2022-02-20 23:40:32,689 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 47 transitions. [2022-02-20 23:40:32,745 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:32,746 INFO L225 Difference]: With dead ends: 48 [2022-02-20 23:40:32,746 INFO L226 Difference]: Without dead ends: 48 [2022-02-20 23:40:32,746 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:32,747 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 33 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:32,747 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 36 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:32,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-02-20 23:40:32,750 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2022-02-20 23:40:32,750 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:32,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 48 states, 36 states have (on average 1.5555555555555556) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,751 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 48 states, 36 states have (on average 1.5555555555555556) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,751 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 48 states, 36 states have (on average 1.5555555555555556) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:32,752 INFO L93 Difference]: Finished difference Result 48 states and 56 transitions. [2022-02-20 23:40:32,752 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2022-02-20 23:40:32,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:32,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:32,753 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 36 states have (on average 1.5555555555555556) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 48 states. [2022-02-20 23:40:32,753 INFO L87 Difference]: Start difference. First operand has 48 states, 36 states have (on average 1.5555555555555556) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 48 states. [2022-02-20 23:40:32,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:32,754 INFO L93 Difference]: Finished difference Result 48 states and 56 transitions. [2022-02-20 23:40:32,755 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2022-02-20 23:40:32,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:32,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:32,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:32,755 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:32,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 36 states have (on average 1.5555555555555556) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 56 transitions. [2022-02-20 23:40:32,757 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 56 transitions. Word has length 11 [2022-02-20 23:40:32,757 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:32,757 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 56 transitions. [2022-02-20 23:40:32,757 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 5.5) internal successors, (11), 3 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:32,757 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2022-02-20 23:40:32,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:40:32,758 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:32,758 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:32,767 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:32,963 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:32,964 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:32,964 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:32,964 INFO L85 PathProgramCache]: Analyzing trace with hash -1226025170, now seen corresponding path program 1 times [2022-02-20 23:40:32,965 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:32,965 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [454832840] [2022-02-20 23:40:32,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:32,965 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:32,965 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:32,972 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:32,974 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2022-02-20 23:40:33,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:33,030 INFO L263 TraceCheckSpWp]: Trace formula consists of 57 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:40:33,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:33,039 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:33,107 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:33,150 INFO L356 Elim1Store]: treesize reduction 28, result has 37.8 percent of original size [2022-02-20 23:40:33,150 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 16 treesize of output 24 [2022-02-20 23:40:33,161 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 9 [2022-02-20 23:40:33,415 INFO L290 TraceCheckUtils]: 0: Hoare triple {1576#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {1576#true} is VALID [2022-02-20 23:40:33,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {1576#true} is VALID [2022-02-20 23:40:33,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {1587#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:33,419 INFO L290 TraceCheckUtils]: 3: Hoare triple {1587#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {1587#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:33,423 INFO L290 TraceCheckUtils]: 4: Hoare triple {1587#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {1594#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:33,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {1594#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {1594#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:33,425 INFO L290 TraceCheckUtils]: 6: Hoare triple {1594#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {1594#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:33,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {1594#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} havoc main_#t~nondet14#1; {1594#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:33,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {1594#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {1607#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:33,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {1607#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {1611#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|))) (= |ULTIMATE.start_main_~i~1#1| (_ bv1 32)))} is VALID [2022-02-20 23:40:33,428 INFO L290 TraceCheckUtils]: 10: Hoare triple {1611#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|))) (= |ULTIMATE.start_main_~i~1#1| (_ bv1 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))), #length[main_~A~0#1.base]) && ~bvule32(~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), ~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))))) && ~bvule32(0bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)))); {1577#false} is VALID [2022-02-20 23:40:33,429 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:33,429 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:34,025 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:40:34,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {1615#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))), #length[main_~A~0#1.base]) && ~bvule32(~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), ~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))))) && ~bvule32(0bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)))); {1577#false} is VALID [2022-02-20 23:40:34,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {1619#(or (not (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {1615#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:34,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {1623#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {1619#(or (not (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} is VALID [2022-02-20 23:40:34,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {1623#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} havoc main_#t~nondet14#1; {1623#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:34,472 INFO L290 TraceCheckUtils]: 6: Hoare triple {1630#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {1623#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:34,475 INFO L290 TraceCheckUtils]: 5: Hoare triple {1630#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {1630#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))))} is VALID [2022-02-20 23:40:34,480 INFO L290 TraceCheckUtils]: 4: Hoare triple {1637#(or (bvule (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvule (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {1630#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))))} is VALID [2022-02-20 23:40:34,481 INFO L290 TraceCheckUtils]: 3: Hoare triple {1637#(or (bvule (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvule (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|))))} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {1637#(or (bvule (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvule (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|))))} is VALID [2022-02-20 23:40:34,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {1637#(or (bvule (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvule (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|))))} is VALID [2022-02-20 23:40:34,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {1576#true} is VALID [2022-02-20 23:40:34,482 INFO L290 TraceCheckUtils]: 0: Hoare triple {1576#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {1576#true} is VALID [2022-02-20 23:40:34,482 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:34,482 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:34,482 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [454832840] [2022-02-20 23:40:34,482 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [454832840] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:34,483 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:40:34,483 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6] total 10 [2022-02-20 23:40:34,483 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [413435648] [2022-02-20 23:40:34,483 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:34,483 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.0) internal successors, (20), 11 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:40:34,483 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:34,483 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.0) internal successors, (20), 11 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:34,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:34,924 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:40:34,924 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:34,924 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:40:34,924 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:40:34,924 INFO L87 Difference]: Start difference. First operand 48 states and 56 transitions. Second operand has 11 states, 10 states have (on average 2.0) internal successors, (20), 11 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:37,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:37,148 INFO L93 Difference]: Finished difference Result 85 states and 99 transitions. [2022-02-20 23:40:37,148 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:40:37,149 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.0) internal successors, (20), 11 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:40:37,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:37,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.0) internal successors, (20), 11 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:37,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2022-02-20 23:40:37,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.0) internal successors, (20), 11 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:37,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2022-02-20 23:40:37,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 93 transitions. [2022-02-20 23:40:37,796 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:37,797 INFO L225 Difference]: With dead ends: 85 [2022-02-20 23:40:37,797 INFO L226 Difference]: Without dead ends: 85 [2022-02-20 23:40:37,797 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:40:37,798 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 122 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 111 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 194 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 111 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 21 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:37,798 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [122 Valid, 194 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 111 Invalid, 0 Unknown, 21 Unchecked, 0.8s Time] [2022-02-20 23:40:37,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-02-20 23:40:37,801 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 56. [2022-02-20 23:40:37,801 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:37,802 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 56 states, 44 states have (on average 1.5) internal successors, (66), 55 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:37,802 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 56 states, 44 states have (on average 1.5) internal successors, (66), 55 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:37,802 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 56 states, 44 states have (on average 1.5) internal successors, (66), 55 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:37,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:37,804 INFO L93 Difference]: Finished difference Result 85 states and 99 transitions. [2022-02-20 23:40:37,804 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 99 transitions. [2022-02-20 23:40:37,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:37,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:37,805 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 44 states have (on average 1.5) internal successors, (66), 55 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 85 states. [2022-02-20 23:40:37,805 INFO L87 Difference]: Start difference. First operand has 56 states, 44 states have (on average 1.5) internal successors, (66), 55 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 85 states. [2022-02-20 23:40:37,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:37,807 INFO L93 Difference]: Finished difference Result 85 states and 99 transitions. [2022-02-20 23:40:37,807 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 99 transitions. [2022-02-20 23:40:37,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:37,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:37,808 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:37,808 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:37,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 44 states have (on average 1.5) internal successors, (66), 55 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:37,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 66 transitions. [2022-02-20 23:40:37,810 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 66 transitions. Word has length 11 [2022-02-20 23:40:37,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:37,810 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 66 transitions. [2022-02-20 23:40:37,810 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.0) internal successors, (20), 11 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:37,811 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 66 transitions. [2022-02-20 23:40:37,811 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:40:37,811 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:37,811 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:37,826 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:38,022 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:38,022 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:38,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:38,023 INFO L85 PathProgramCache]: Analyzing trace with hash -2090265385, now seen corresponding path program 1 times [2022-02-20 23:40:38,023 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:38,023 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1147791455] [2022-02-20 23:40:38,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:38,023 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:38,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:38,024 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:38,029 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2022-02-20 23:40:38,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:38,088 INFO L263 TraceCheckSpWp]: Trace formula consists of 59 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:40:38,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:38,096 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:38,141 INFO L356 Elim1Store]: treesize reduction 39, result has 29.1 percent of original size [2022-02-20 23:40:38,142 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 27 treesize of output 33 [2022-02-20 23:40:38,198 INFO L290 TraceCheckUtils]: 0: Hoare triple {1962#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {1962#true} is VALID [2022-02-20 23:40:38,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {1962#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {1962#true} is VALID [2022-02-20 23:40:38,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {1962#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {1962#true} is VALID [2022-02-20 23:40:38,199 INFO L290 TraceCheckUtils]: 3: Hoare triple {1962#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {1962#true} is VALID [2022-02-20 23:40:38,201 INFO L290 TraceCheckUtils]: 4: Hoare triple {1962#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:40:38,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:40:38,202 INFO L290 TraceCheckUtils]: 6: Hoare triple {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:40:38,202 INFO L290 TraceCheckUtils]: 7: Hoare triple {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} havoc main_#t~nondet14#1; {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:40:38,203 INFO L290 TraceCheckUtils]: 8: Hoare triple {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:40:38,203 INFO L290 TraceCheckUtils]: 9: Hoare triple {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:40:38,204 INFO L290 TraceCheckUtils]: 10: Hoare triple {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} main_~i~2#1 := 0bv32; {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:40:38,204 INFO L290 TraceCheckUtils]: 11: Hoare triple {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:40:38,204 INFO L290 TraceCheckUtils]: 12: Hoare triple {1979#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~B~0#1.base|)) (_ bv1 1)))} assume !(1bv1 == #valid[main_~B~0#1.base]); {1963#false} is VALID [2022-02-20 23:40:38,205 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:38,205 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:38,205 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:38,205 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1147791455] [2022-02-20 23:40:38,205 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1147791455] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:38,205 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:38,205 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:40:38,205 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [672730309] [2022-02-20 23:40:38,205 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:38,206 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 6.5) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:40:38,206 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:38,206 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 6.5) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:38,219 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:40:38,219 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:38,219 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:40:38,219 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:38,219 INFO L87 Difference]: Start difference. First operand 56 states and 66 transitions. Second operand has 3 states, 2 states have (on average 6.5) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:38,354 INFO L93 Difference]: Finished difference Result 55 states and 65 transitions. [2022-02-20 23:40:38,354 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:40:38,354 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 6.5) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:40:38,354 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:38,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 6.5) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 46 transitions. [2022-02-20 23:40:38,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 6.5) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 46 transitions. [2022-02-20 23:40:38,356 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 46 transitions. [2022-02-20 23:40:38,421 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:38,422 INFO L225 Difference]: With dead ends: 55 [2022-02-20 23:40:38,422 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 23:40:38,423 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:40:38,423 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 29 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 17 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:38,423 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 36 Invalid, 17 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:38,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 23:40:38,427 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-02-20 23:40:38,427 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:38,427 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 44 states have (on average 1.4772727272727273) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,428 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 44 states have (on average 1.4772727272727273) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,428 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 44 states have (on average 1.4772727272727273) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:38,430 INFO L93 Difference]: Finished difference Result 55 states and 65 transitions. [2022-02-20 23:40:38,430 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 65 transitions. [2022-02-20 23:40:38,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:38,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:38,430 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 44 states have (on average 1.4772727272727273) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:40:38,430 INFO L87 Difference]: Start difference. First operand has 55 states, 44 states have (on average 1.4772727272727273) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:40:38,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:38,431 INFO L93 Difference]: Finished difference Result 55 states and 65 transitions. [2022-02-20 23:40:38,432 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 65 transitions. [2022-02-20 23:40:38,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:38,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:38,432 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:38,432 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:38,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 44 states have (on average 1.4772727272727273) internal successors, (65), 54 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 65 transitions. [2022-02-20 23:40:38,435 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 65 transitions. Word has length 13 [2022-02-20 23:40:38,435 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:38,435 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 65 transitions. [2022-02-20 23:40:38,435 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 6.5) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,435 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 65 transitions. [2022-02-20 23:40:38,435 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:40:38,435 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:38,436 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:38,447 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:38,644 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:38,645 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:38,645 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:38,645 INFO L85 PathProgramCache]: Analyzing trace with hash -2090265384, now seen corresponding path program 1 times [2022-02-20 23:40:38,646 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:38,646 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1031846927] [2022-02-20 23:40:38,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:38,646 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:38,646 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:38,647 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:38,649 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2022-02-20 23:40:38,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:38,706 INFO L263 TraceCheckSpWp]: Trace formula consists of 59 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:40:38,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:38,716 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:38,765 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:38,789 INFO L356 Elim1Store]: treesize reduction 24, result has 33.3 percent of original size [2022-02-20 23:40:38,790 INFO L390 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 12 treesize of output 23 [2022-02-20 23:40:38,823 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 41 [2022-02-20 23:40:38,952 INFO L290 TraceCheckUtils]: 0: Hoare triple {2223#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {2223#true} is VALID [2022-02-20 23:40:38,952 INFO L290 TraceCheckUtils]: 1: Hoare triple {2223#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {2223#true} is VALID [2022-02-20 23:40:38,952 INFO L290 TraceCheckUtils]: 2: Hoare triple {2223#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {2223#true} is VALID [2022-02-20 23:40:38,953 INFO L290 TraceCheckUtils]: 3: Hoare triple {2223#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {2237#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:38,956 INFO L290 TraceCheckUtils]: 4: Hoare triple {2237#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:40:38,957 INFO L290 TraceCheckUtils]: 5: Hoare triple {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:40:38,958 INFO L290 TraceCheckUtils]: 6: Hoare triple {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:40:38,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} havoc main_#t~nondet14#1; {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:40:38,961 INFO L290 TraceCheckUtils]: 8: Hoare triple {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:40:38,961 INFO L290 TraceCheckUtils]: 9: Hoare triple {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:40:38,962 INFO L290 TraceCheckUtils]: 10: Hoare triple {2241#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} main_~i~2#1 := 0bv32; {2260#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:38,963 INFO L290 TraceCheckUtils]: 11: Hoare triple {2260#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {2260#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:38,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {2260#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))), #length[main_~B~0#1.base]) && ~bvule32(~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), ~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))))) && ~bvule32(0bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)))); {2224#false} is VALID [2022-02-20 23:40:38,964 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:38,965 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:38,965 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:38,965 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1031846927] [2022-02-20 23:40:38,965 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1031846927] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:38,965 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:38,966 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:38,966 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1360308872] [2022-02-20 23:40:38,966 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:38,967 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:40:38,967 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:38,967 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:38,986 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:38,986 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:40:38,987 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:38,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:40:38,987 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:38,987 INFO L87 Difference]: Start difference. First operand 55 states and 65 transitions. Second operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:39,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:39,753 INFO L93 Difference]: Finished difference Result 109 states and 126 transitions. [2022-02-20 23:40:39,753 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:40:39,754 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:40:39,754 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:39,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:39,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 90 transitions. [2022-02-20 23:40:39,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:39,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 90 transitions. [2022-02-20 23:40:39,756 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 90 transitions. [2022-02-20 23:40:39,895 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:39,896 INFO L225 Difference]: With dead ends: 109 [2022-02-20 23:40:39,897 INFO L226 Difference]: Without dead ends: 109 [2022-02-20 23:40:39,897 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:40:39,897 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 78 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 70 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 73 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 70 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:39,897 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 166 Invalid, 73 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 70 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:40:39,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2022-02-20 23:40:39,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 79. [2022-02-20 23:40:39,901 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:39,901 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 79 states, 68 states have (on average 1.3676470588235294) internal successors, (93), 78 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:39,901 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 79 states, 68 states have (on average 1.3676470588235294) internal successors, (93), 78 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:39,902 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 79 states, 68 states have (on average 1.3676470588235294) internal successors, (93), 78 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:39,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:39,904 INFO L93 Difference]: Finished difference Result 109 states and 126 transitions. [2022-02-20 23:40:39,904 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 126 transitions. [2022-02-20 23:40:39,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:39,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:39,905 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 68 states have (on average 1.3676470588235294) internal successors, (93), 78 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 109 states. [2022-02-20 23:40:39,905 INFO L87 Difference]: Start difference. First operand has 79 states, 68 states have (on average 1.3676470588235294) internal successors, (93), 78 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 109 states. [2022-02-20 23:40:39,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:39,907 INFO L93 Difference]: Finished difference Result 109 states and 126 transitions. [2022-02-20 23:40:39,907 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 126 transitions. [2022-02-20 23:40:39,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:39,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:39,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:39,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:39,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 68 states have (on average 1.3676470588235294) internal successors, (93), 78 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:39,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 93 transitions. [2022-02-20 23:40:39,910 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 93 transitions. Word has length 13 [2022-02-20 23:40:39,910 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:39,910 INFO L470 AbstractCegarLoop]: Abstraction has 79 states and 93 transitions. [2022-02-20 23:40:39,910 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:39,910 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 93 transitions. [2022-02-20 23:40:39,910 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:40:39,911 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:39,911 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:39,926 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:40,111 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:40,111 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:40,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:40,112 INFO L85 PathProgramCache]: Analyzing trace with hash 1811674902, now seen corresponding path program 1 times [2022-02-20 23:40:40,112 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:40,112 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1208711097] [2022-02-20 23:40:40,112 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:40,112 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:40,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:40,113 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:40,115 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2022-02-20 23:40:40,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:40,170 INFO L263 TraceCheckSpWp]: Trace formula consists of 59 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 23:40:40,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:40,182 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:40,227 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:40,228 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:40,244 INFO L356 Elim1Store]: treesize reduction 13, result has 40.9 percent of original size [2022-02-20 23:40:40,245 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 14 treesize of output 22 [2022-02-20 23:40:40,255 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 13 [2022-02-20 23:40:40,474 INFO L290 TraceCheckUtils]: 0: Hoare triple {2676#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {2676#true} is VALID [2022-02-20 23:40:40,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {2676#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {2676#true} is VALID [2022-02-20 23:40:40,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {2676#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {2676#true} is VALID [2022-02-20 23:40:40,477 INFO L290 TraceCheckUtils]: 3: Hoare triple {2676#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {2690#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:40,492 INFO L290 TraceCheckUtils]: 4: Hoare triple {2690#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:40:40,495 INFO L290 TraceCheckUtils]: 5: Hoare triple {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:40:40,499 INFO L290 TraceCheckUtils]: 6: Hoare triple {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:40:40,503 INFO L290 TraceCheckUtils]: 7: Hoare triple {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} havoc main_#t~nondet14#1; {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:40:40,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:40:40,507 INFO L290 TraceCheckUtils]: 9: Hoare triple {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:40:40,508 INFO L290 TraceCheckUtils]: 10: Hoare triple {2694#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} main_~i~2#1 := 0bv32; {2713#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:40:40,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {2713#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {2713#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:40:40,512 INFO L290 TraceCheckUtils]: 12: Hoare triple {2713#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))), #length[main_~B~0#1.base]) && ~bvule32(~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), ~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))))) && ~bvule32(0bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)))); {2677#false} is VALID [2022-02-20 23:40:40,512 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:40,512 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:40,512 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:40,512 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1208711097] [2022-02-20 23:40:40,513 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1208711097] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:40,513 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:40,513 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:40,513 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [148005222] [2022-02-20 23:40:40,513 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:40,514 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:40:40,514 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:40,514 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:40,538 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:40,538 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:40:40,538 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:40,539 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:40:40,539 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:40,539 INFO L87 Difference]: Start difference. First operand 79 states and 93 transitions. Second operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:40,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:40,747 INFO L93 Difference]: Finished difference Result 81 states and 96 transitions. [2022-02-20 23:40:40,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:40:40,747 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:40:40,748 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:40,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:40,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 23:40:40,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:40,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-02-20 23:40:40,749 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-02-20 23:40:40,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:40,810 INFO L225 Difference]: With dead ends: 81 [2022-02-20 23:40:40,811 INFO L226 Difference]: Without dead ends: 81 [2022-02-20 23:40:40,811 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:40:40,811 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 3 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 3 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 3 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 29 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:40,811 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 123 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 3 Invalid, 0 Unknown, 29 Unchecked, 0.0s Time] [2022-02-20 23:40:40,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-02-20 23:40:40,814 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 80. [2022-02-20 23:40:40,814 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:40,815 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 80 states, 69 states have (on average 1.3768115942028984) internal successors, (95), 79 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:40,815 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 80 states, 69 states have (on average 1.3768115942028984) internal successors, (95), 79 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:40,815 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 80 states, 69 states have (on average 1.3768115942028984) internal successors, (95), 79 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:40,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:40,817 INFO L93 Difference]: Finished difference Result 81 states and 96 transitions. [2022-02-20 23:40:40,817 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 96 transitions. [2022-02-20 23:40:40,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:40,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:40,817 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 69 states have (on average 1.3768115942028984) internal successors, (95), 79 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 81 states. [2022-02-20 23:40:40,817 INFO L87 Difference]: Start difference. First operand has 80 states, 69 states have (on average 1.3768115942028984) internal successors, (95), 79 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 81 states. [2022-02-20 23:40:40,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:40,819 INFO L93 Difference]: Finished difference Result 81 states and 96 transitions. [2022-02-20 23:40:40,824 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 96 transitions. [2022-02-20 23:40:40,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:40,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:40,824 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:40,824 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:40,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 69 states have (on average 1.3768115942028984) internal successors, (95), 79 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:40,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 95 transitions. [2022-02-20 23:40:40,826 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 95 transitions. Word has length 13 [2022-02-20 23:40:40,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:40,826 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 95 transitions. [2022-02-20 23:40:40,827 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:40,827 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 95 transitions. [2022-02-20 23:40:40,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:40:40,827 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:40,827 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:40,834 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Ended with exit code 0 [2022-02-20 23:40:41,031 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:41,032 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr12ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:41,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:41,032 INFO L85 PathProgramCache]: Analyzing trace with hash 1046384445, now seen corresponding path program 1 times [2022-02-20 23:40:41,032 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:41,032 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1436312178] [2022-02-20 23:40:41,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:41,032 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:41,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:41,033 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:41,034 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Waiting until timeout for monitored process [2022-02-20 23:40:41,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:41,102 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:40:41,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:41,113 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:41,167 INFO L290 TraceCheckUtils]: 0: Hoare triple {3044#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {3044#true} is VALID [2022-02-20 23:40:41,168 INFO L290 TraceCheckUtils]: 1: Hoare triple {3044#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {3044#true} is VALID [2022-02-20 23:40:41,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {3044#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,169 INFO L290 TraceCheckUtils]: 3: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,170 INFO L290 TraceCheckUtils]: 4: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,170 INFO L290 TraceCheckUtils]: 5: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,170 INFO L290 TraceCheckUtils]: 6: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} havoc main_#t~nondet14#1; {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,171 INFO L290 TraceCheckUtils]: 8: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,172 INFO L290 TraceCheckUtils]: 10: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} main_~i~2#1 := 0bv32; {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:41,173 INFO L290 TraceCheckUtils]: 12: Hoare triple {3055#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {3086#(and (= (_ bv1 32) |ULTIMATE.start_diff_~l1~0#1|) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:41,174 INFO L290 TraceCheckUtils]: 13: Hoare triple {3086#(and (= (_ bv1 32) |ULTIMATE.start_diff_~l1~0#1|) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} assume !~bvslt32(diff_~i~0#1, diff_~l1~0#1); {3045#false} is VALID [2022-02-20 23:40:41,174 INFO L290 TraceCheckUtils]: 14: Hoare triple {3045#false} assume { :end_inline_diff } true;main_#res#1 := 0bv32;call ULTIMATE.dealloc(main_#t~malloc10#1.base, main_#t~malloc10#1.offset);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call ULTIMATE.dealloc(main_#t~malloc11#1.base, main_#t~malloc11#1.offset);havoc main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call ULTIMATE.dealloc(main_#t~malloc12#1.base, main_#t~malloc12#1.offset);havoc main_#t~malloc12#1.base, main_#t~malloc12#1.offset; {3045#false} is VALID [2022-02-20 23:40:41,174 INFO L290 TraceCheckUtils]: 15: Hoare triple {3045#false} assume !(#valid == main_old_#valid#1); {3045#false} is VALID [2022-02-20 23:40:41,174 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:41,174 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:41,175 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:41,175 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1436312178] [2022-02-20 23:40:41,175 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1436312178] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:41,175 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:41,175 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:41,175 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [121808468] [2022-02-20 23:40:41,176 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:41,176 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:41,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:41,176 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:41,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:41,196 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:41,196 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:41,196 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:41,196 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:41,197 INFO L87 Difference]: Start difference. First operand 80 states and 95 transitions. Second operand has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:41,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:41,605 INFO L93 Difference]: Finished difference Result 130 states and 153 transitions. [2022-02-20 23:40:41,605 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:41,605 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:41,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:41,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:41,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 107 transitions. [2022-02-20 23:40:41,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:41,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 107 transitions. [2022-02-20 23:40:41,607 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 107 transitions. [2022-02-20 23:40:41,734 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:41,736 INFO L225 Difference]: With dead ends: 130 [2022-02-20 23:40:41,736 INFO L226 Difference]: Without dead ends: 130 [2022-02-20 23:40:41,736 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:41,736 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 71 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:41,737 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 127 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:41,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-02-20 23:40:41,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 91. [2022-02-20 23:40:41,740 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:41,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 91 states, 80 states have (on average 1.3625) internal successors, (109), 90 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:41,741 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 91 states, 80 states have (on average 1.3625) internal successors, (109), 90 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:41,741 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 91 states, 80 states have (on average 1.3625) internal successors, (109), 90 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:41,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:41,743 INFO L93 Difference]: Finished difference Result 130 states and 153 transitions. [2022-02-20 23:40:41,743 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 153 transitions. [2022-02-20 23:40:41,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:41,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:41,744 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 80 states have (on average 1.3625) internal successors, (109), 90 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 130 states. [2022-02-20 23:40:41,744 INFO L87 Difference]: Start difference. First operand has 91 states, 80 states have (on average 1.3625) internal successors, (109), 90 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 130 states. [2022-02-20 23:40:41,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:41,746 INFO L93 Difference]: Finished difference Result 130 states and 153 transitions. [2022-02-20 23:40:41,746 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 153 transitions. [2022-02-20 23:40:41,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:41,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:41,746 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:41,746 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:41,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 80 states have (on average 1.3625) internal successors, (109), 90 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:41,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 109 transitions. [2022-02-20 23:40:41,748 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 109 transitions. Word has length 16 [2022-02-20 23:40:41,748 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:41,748 INFO L470 AbstractCegarLoop]: Abstraction has 91 states and 109 transitions. [2022-02-20 23:40:41,748 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:41,748 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 109 transitions. [2022-02-20 23:40:41,749 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:40:41,749 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:41,749 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:41,759 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Ended with exit code 0 [2022-02-20 23:40:41,957 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:41,957 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:41,957 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:41,957 INFO L85 PathProgramCache]: Analyzing trace with hash 1046385311, now seen corresponding path program 1 times [2022-02-20 23:40:41,958 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:41,958 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1323246837] [2022-02-20 23:40:41,958 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:41,958 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:41,958 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:41,959 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:41,960 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2022-02-20 23:40:42,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:42,016 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:40:42,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:42,029 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:42,079 INFO L290 TraceCheckUtils]: 0: Hoare triple {3578#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {3578#true} is VALID [2022-02-20 23:40:42,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {3578#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {3578#true} is VALID [2022-02-20 23:40:42,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {3578#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {3578#true} is VALID [2022-02-20 23:40:42,080 INFO L290 TraceCheckUtils]: 3: Hoare triple {3578#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {3578#true} is VALID [2022-02-20 23:40:42,080 INFO L290 TraceCheckUtils]: 4: Hoare triple {3578#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {3578#true} is VALID [2022-02-20 23:40:42,080 INFO L290 TraceCheckUtils]: 5: Hoare triple {3578#true} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {3578#true} is VALID [2022-02-20 23:40:42,080 INFO L290 TraceCheckUtils]: 6: Hoare triple {3578#true} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:42,081 INFO L290 TraceCheckUtils]: 7: Hoare triple {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} havoc main_#t~nondet14#1; {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:42,081 INFO L290 TraceCheckUtils]: 8: Hoare triple {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:42,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:42,082 INFO L290 TraceCheckUtils]: 10: Hoare triple {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} main_~i~2#1 := 0bv32; {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:42,082 INFO L290 TraceCheckUtils]: 11: Hoare triple {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} is VALID [2022-02-20 23:40:42,083 INFO L290 TraceCheckUtils]: 12: Hoare triple {3601#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~A~0#1.base|))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {3620#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_diff_~A#1.base|))} is VALID [2022-02-20 23:40:42,084 INFO L290 TraceCheckUtils]: 13: Hoare triple {3620#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_diff_~A#1.base|))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {3620#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_diff_~A#1.base|))} is VALID [2022-02-20 23:40:42,084 INFO L290 TraceCheckUtils]: 14: Hoare triple {3620#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_diff_~A#1.base|))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {3620#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_diff_~A#1.base|))} is VALID [2022-02-20 23:40:42,084 INFO L290 TraceCheckUtils]: 15: Hoare triple {3620#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_diff_~A#1.base|))} assume !(1bv1 == #valid[diff_~A#1.base]); {3579#false} is VALID [2022-02-20 23:40:42,085 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:42,085 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:42,085 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:42,085 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1323246837] [2022-02-20 23:40:42,085 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1323246837] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:42,085 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:42,085 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:40:42,085 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2127090165] [2022-02-20 23:40:42,086 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:42,086 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 5.333333333333333) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:42,086 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:42,086 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 5.333333333333333) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:42,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:42,106 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:42,106 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:42,106 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:42,106 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:42,106 INFO L87 Difference]: Start difference. First operand 91 states and 109 transitions. Second operand has 4 states, 3 states have (on average 5.333333333333333) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:42,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:42,313 INFO L93 Difference]: Finished difference Result 89 states and 107 transitions. [2022-02-20 23:40:42,313 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:42,313 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 5.333333333333333) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:42,313 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:42,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 5.333333333333333) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:42,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 45 transitions. [2022-02-20 23:40:42,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 5.333333333333333) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:42,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 45 transitions. [2022-02-20 23:40:42,314 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 45 transitions. [2022-02-20 23:40:42,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:42,370 INFO L225 Difference]: With dead ends: 89 [2022-02-20 23:40:42,370 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 23:40:42,370 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:40:42,371 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 46 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:42,371 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 48 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:42,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 23:40:42,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 89. [2022-02-20 23:40:42,377 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:42,377 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 89 states, 80 states have (on average 1.3375) internal successors, (107), 88 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:42,377 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 89 states, 80 states have (on average 1.3375) internal successors, (107), 88 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:42,377 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 89 states, 80 states have (on average 1.3375) internal successors, (107), 88 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:42,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:42,378 INFO L93 Difference]: Finished difference Result 89 states and 107 transitions. [2022-02-20 23:40:42,378 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 107 transitions. [2022-02-20 23:40:42,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:42,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:42,379 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 80 states have (on average 1.3375) internal successors, (107), 88 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 89 states. [2022-02-20 23:40:42,379 INFO L87 Difference]: Start difference. First operand has 89 states, 80 states have (on average 1.3375) internal successors, (107), 88 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 89 states. [2022-02-20 23:40:42,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:42,380 INFO L93 Difference]: Finished difference Result 89 states and 107 transitions. [2022-02-20 23:40:42,381 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 107 transitions. [2022-02-20 23:40:42,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:42,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:42,381 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:42,381 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:42,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 80 states have (on average 1.3375) internal successors, (107), 88 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:42,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 107 transitions. [2022-02-20 23:40:42,382 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 107 transitions. Word has length 16 [2022-02-20 23:40:42,383 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:42,383 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 107 transitions. [2022-02-20 23:40:42,383 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 5.333333333333333) internal successors, (16), 4 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:42,383 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 107 transitions. [2022-02-20 23:40:42,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:40:42,383 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:42,383 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:42,392 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:42,591 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:42,591 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:42,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:42,592 INFO L85 PathProgramCache]: Analyzing trace with hash 1046385312, now seen corresponding path program 1 times [2022-02-20 23:40:42,592 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:42,592 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [795045416] [2022-02-20 23:40:42,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:42,592 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:42,592 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:42,593 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:42,594 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2022-02-20 23:40:42,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:42,650 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:40:42,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:42,657 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:42,808 INFO L290 TraceCheckUtils]: 0: Hoare triple {3987#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {3987#true} is VALID [2022-02-20 23:40:42,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {3987#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {3987#true} is VALID [2022-02-20 23:40:42,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {3987#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {3987#true} is VALID [2022-02-20 23:40:42,808 INFO L290 TraceCheckUtils]: 3: Hoare triple {3987#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {3987#true} is VALID [2022-02-20 23:40:42,809 INFO L290 TraceCheckUtils]: 4: Hoare triple {3987#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {4004#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:42,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {4004#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {4004#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:42,811 INFO L290 TraceCheckUtils]: 6: Hoare triple {4004#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} is VALID [2022-02-20 23:40:42,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} havoc main_#t~nondet14#1; {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} is VALID [2022-02-20 23:40:42,812 INFO L290 TraceCheckUtils]: 8: Hoare triple {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} is VALID [2022-02-20 23:40:42,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} is VALID [2022-02-20 23:40:42,813 INFO L290 TraceCheckUtils]: 10: Hoare triple {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} main_~i~2#1 := 0bv32; {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} is VALID [2022-02-20 23:40:42,813 INFO L290 TraceCheckUtils]: 11: Hoare triple {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} is VALID [2022-02-20 23:40:42,814 INFO L290 TraceCheckUtils]: 12: Hoare triple {4011#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {4030#(and (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~A#1.base|)) (= (_ bv0 32) |ULTIMATE.start_diff_~A#1.offset|) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:42,814 INFO L290 TraceCheckUtils]: 13: Hoare triple {4030#(and (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~A#1.base|)) (= (_ bv0 32) |ULTIMATE.start_diff_~A#1.offset|) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {4030#(and (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~A#1.base|)) (= (_ bv0 32) |ULTIMATE.start_diff_~A#1.offset|) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:42,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {4030#(and (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~A#1.base|)) (= (_ bv0 32) |ULTIMATE.start_diff_~A#1.offset|) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {4030#(and (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~A#1.base|)) (= (_ bv0 32) |ULTIMATE.start_diff_~A#1.offset|) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:42,816 INFO L290 TraceCheckUtils]: 15: Hoare triple {4030#(and (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~A#1.base|)) (= (_ bv0 32) |ULTIMATE.start_diff_~A#1.offset|) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1))), #length[diff_~A#1.base]) && ~bvule32(~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)))); {3988#false} is VALID [2022-02-20 23:40:42,816 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:42,816 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:43,053 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2022-02-20 23:40:43,124 INFO L290 TraceCheckUtils]: 15: Hoare triple {4040#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|)) (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (select |#length| |ULTIMATE.start_diff_~A#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1))), #length[diff_~A#1.base]) && ~bvule32(~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)))); {3988#false} is VALID [2022-02-20 23:40:43,125 INFO L290 TraceCheckUtils]: 14: Hoare triple {4040#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|)) (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (select |#length| |ULTIMATE.start_diff_~A#1.base|)))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {4040#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|)) (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (select |#length| |ULTIMATE.start_diff_~A#1.base|)))} is VALID [2022-02-20 23:40:43,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {4040#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|)) (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (select |#length| |ULTIMATE.start_diff_~A#1.base|)))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {4040#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|)) (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (select |#length| |ULTIMATE.start_diff_~A#1.base|)))} is VALID [2022-02-20 23:40:43,126 INFO L290 TraceCheckUtils]: 12: Hoare triple {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {4040#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|)) (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_diff_~i~0#1|) |ULTIMATE.start_diff_~A#1.offset|) (select |#length| |ULTIMATE.start_diff_~A#1.base|)))} is VALID [2022-02-20 23:40:43,127 INFO L290 TraceCheckUtils]: 11: Hoare triple {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:43,127 INFO L290 TraceCheckUtils]: 10: Hoare triple {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} main_~i~2#1 := 0bv32; {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:43,128 INFO L290 TraceCheckUtils]: 9: Hoare triple {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:43,128 INFO L290 TraceCheckUtils]: 8: Hoare triple {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:43,129 INFO L290 TraceCheckUtils]: 7: Hoare triple {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} havoc main_#t~nondet14#1; {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:43,189 INFO L290 TraceCheckUtils]: 6: Hoare triple {4069#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {4050#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:43,190 INFO L290 TraceCheckUtils]: 5: Hoare triple {4069#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {4069#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:43,191 INFO L290 TraceCheckUtils]: 4: Hoare triple {3987#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {4069#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule |ULTIMATE.start_main_~A~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:43,191 INFO L290 TraceCheckUtils]: 3: Hoare triple {3987#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {3987#true} is VALID [2022-02-20 23:40:43,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {3987#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {3987#true} is VALID [2022-02-20 23:40:43,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {3987#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {3987#true} is VALID [2022-02-20 23:40:43,191 INFO L290 TraceCheckUtils]: 0: Hoare triple {3987#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {3987#true} is VALID [2022-02-20 23:40:43,191 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:43,191 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:43,191 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [795045416] [2022-02-20 23:40:43,191 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [795045416] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:43,192 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:40:43,192 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2022-02-20 23:40:43,192 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [340278238] [2022-02-20 23:40:43,192 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:43,192 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 4.0) internal successors, (28), 8 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:43,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:43,192 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 4.0) internal successors, (28), 8 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:43,300 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:43,300 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:40:43,300 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:43,301 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:40:43,301 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:40:43,301 INFO L87 Difference]: Start difference. First operand 89 states and 107 transitions. Second operand has 8 states, 7 states have (on average 4.0) internal successors, (28), 8 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:44,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:44,990 INFO L93 Difference]: Finished difference Result 163 states and 196 transitions. [2022-02-20 23:40:44,990 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:40:44,990 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 4.0) internal successors, (28), 8 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:44,990 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:44,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 4.0) internal successors, (28), 8 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:44,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 142 transitions. [2022-02-20 23:40:44,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 4.0) internal successors, (28), 8 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:44,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 142 transitions. [2022-02-20 23:40:44,992 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 142 transitions. [2022-02-20 23:40:45,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:45,284 INFO L225 Difference]: With dead ends: 163 [2022-02-20 23:40:45,284 INFO L226 Difference]: Without dead ends: 163 [2022-02-20 23:40:45,284 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=59, Invalid=123, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:40:45,284 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 309 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 309 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 116 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:45,285 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [309 Valid, 117 Invalid, 116 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 23:40:45,285 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-02-20 23:40:45,289 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 94. [2022-02-20 23:40:45,289 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:45,289 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 94 states, 85 states have (on average 1.3529411764705883) internal successors, (115), 93 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:45,289 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 94 states, 85 states have (on average 1.3529411764705883) internal successors, (115), 93 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:45,290 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 94 states, 85 states have (on average 1.3529411764705883) internal successors, (115), 93 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:45,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:45,292 INFO L93 Difference]: Finished difference Result 163 states and 196 transitions. [2022-02-20 23:40:45,293 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 196 transitions. [2022-02-20 23:40:45,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:45,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:45,293 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 85 states have (on average 1.3529411764705883) internal successors, (115), 93 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 163 states. [2022-02-20 23:40:45,294 INFO L87 Difference]: Start difference. First operand has 94 states, 85 states have (on average 1.3529411764705883) internal successors, (115), 93 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 163 states. [2022-02-20 23:40:45,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:45,296 INFO L93 Difference]: Finished difference Result 163 states and 196 transitions. [2022-02-20 23:40:45,297 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 196 transitions. [2022-02-20 23:40:45,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:45,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:45,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:45,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:45,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 85 states have (on average 1.3529411764705883) internal successors, (115), 93 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:45,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 115 transitions. [2022-02-20 23:40:45,299 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 115 transitions. Word has length 16 [2022-02-20 23:40:45,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:45,299 INFO L470 AbstractCegarLoop]: Abstraction has 94 states and 115 transitions. [2022-02-20 23:40:45,300 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 4.0) internal successors, (28), 8 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:45,300 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 115 transitions. [2022-02-20 23:40:45,300 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:40:45,300 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:45,300 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:45,309 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:45,509 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:45,510 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr12ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:45,510 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:45,510 INFO L85 PathProgramCache]: Analyzing trace with hash 35267195, now seen corresponding path program 1 times [2022-02-20 23:40:45,510 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:45,510 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [775106793] [2022-02-20 23:40:45,510 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:45,510 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:45,511 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:45,511 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:45,512 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Waiting until timeout for monitored process [2022-02-20 23:40:45,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:45,573 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:40:45,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:45,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:45,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {4682#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {4682#true} is VALID [2022-02-20 23:40:45,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {4682#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {4682#true} is VALID [2022-02-20 23:40:45,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {4682#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {4693#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:45,748 INFO L290 TraceCheckUtils]: 3: Hoare triple {4693#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {4693#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:45,749 INFO L290 TraceCheckUtils]: 4: Hoare triple {4693#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {4700#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:45,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {4700#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {4700#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:45,750 INFO L290 TraceCheckUtils]: 6: Hoare triple {4700#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {4700#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:45,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {4700#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} havoc main_#t~nondet14#1; {4700#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:45,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {4700#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {4713#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} is VALID [2022-02-20 23:40:45,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {4713#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {4717#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:45,751 INFO L290 TraceCheckUtils]: 10: Hoare triple {4717#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)))} main_~i~2#1 := 0bv32; {4717#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:45,752 INFO L290 TraceCheckUtils]: 11: Hoare triple {4717#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {4717#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:45,752 INFO L290 TraceCheckUtils]: 12: Hoare triple {4717#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Alen~0#1|)))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {4727#(and (not (bvslt |ULTIMATE.start_diff_~l1~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l1~0#1|)) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:45,753 INFO L290 TraceCheckUtils]: 13: Hoare triple {4727#(and (not (bvslt |ULTIMATE.start_diff_~l1~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l1~0#1|)) (= |ULTIMATE.start_diff_~i~0#1| (_ bv0 32)))} assume !~bvslt32(diff_~i~0#1, diff_~l1~0#1); {4683#false} is VALID [2022-02-20 23:40:45,753 INFO L290 TraceCheckUtils]: 14: Hoare triple {4683#false} assume { :end_inline_diff } true;main_#res#1 := 0bv32;call ULTIMATE.dealloc(main_#t~malloc10#1.base, main_#t~malloc10#1.offset);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call ULTIMATE.dealloc(main_#t~malloc11#1.base, main_#t~malloc11#1.offset);havoc main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call ULTIMATE.dealloc(main_#t~malloc12#1.base, main_#t~malloc12#1.offset);havoc main_#t~malloc12#1.base, main_#t~malloc12#1.offset; {4683#false} is VALID [2022-02-20 23:40:45,753 INFO L290 TraceCheckUtils]: 15: Hoare triple {4683#false} assume !(#valid == main_old_#valid#1); {4683#false} is VALID [2022-02-20 23:40:45,753 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:45,753 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:45,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {4683#false} assume !(#valid == main_old_#valid#1); {4683#false} is VALID [2022-02-20 23:40:45,893 INFO L290 TraceCheckUtils]: 14: Hoare triple {4683#false} assume { :end_inline_diff } true;main_#res#1 := 0bv32;call ULTIMATE.dealloc(main_#t~malloc10#1.base, main_#t~malloc10#1.offset);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call ULTIMATE.dealloc(main_#t~malloc11#1.base, main_#t~malloc11#1.offset);havoc main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call ULTIMATE.dealloc(main_#t~malloc12#1.base, main_#t~malloc12#1.offset);havoc main_#t~malloc12#1.base, main_#t~malloc12#1.offset; {4683#false} is VALID [2022-02-20 23:40:45,894 INFO L290 TraceCheckUtils]: 13: Hoare triple {4743#(bvslt |ULTIMATE.start_diff_~i~0#1| |ULTIMATE.start_diff_~l1~0#1|)} assume !~bvslt32(diff_~i~0#1, diff_~l1~0#1); {4683#false} is VALID [2022-02-20 23:40:45,895 INFO L290 TraceCheckUtils]: 12: Hoare triple {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {4743#(bvslt |ULTIMATE.start_diff_~i~0#1| |ULTIMATE.start_diff_~l1~0#1|)} is VALID [2022-02-20 23:40:45,895 INFO L290 TraceCheckUtils]: 11: Hoare triple {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} is VALID [2022-02-20 23:40:45,895 INFO L290 TraceCheckUtils]: 10: Hoare triple {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} main_~i~2#1 := 0bv32; {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} is VALID [2022-02-20 23:40:45,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {4757#(or (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|) (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} is VALID [2022-02-20 23:40:45,896 INFO L290 TraceCheckUtils]: 8: Hoare triple {4761#(or (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|) (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {4757#(or (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|) (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:45,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {4761#(or (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|) (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|))} havoc main_#t~nondet14#1; {4761#(or (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|) (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:45,898 INFO L290 TraceCheckUtils]: 6: Hoare triple {4761#(or (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|) (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {4761#(or (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|) (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:45,898 INFO L290 TraceCheckUtils]: 5: Hoare triple {4761#(or (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|) (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {4761#(or (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|) (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:45,899 INFO L290 TraceCheckUtils]: 4: Hoare triple {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {4761#(or (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|) (bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|))} is VALID [2022-02-20 23:40:45,900 INFO L290 TraceCheckUtils]: 3: Hoare triple {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} is VALID [2022-02-20 23:40:45,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {4682#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {4747#(bvslt (_ bv0 32) |ULTIMATE.start_main_~Alen~0#1|)} is VALID [2022-02-20 23:40:45,900 INFO L290 TraceCheckUtils]: 1: Hoare triple {4682#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {4682#true} is VALID [2022-02-20 23:40:45,901 INFO L290 TraceCheckUtils]: 0: Hoare triple {4682#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {4682#true} is VALID [2022-02-20 23:40:45,901 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:45,901 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:45,901 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [775106793] [2022-02-20 23:40:45,901 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [775106793] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:45,901 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:40:45,901 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 11 [2022-02-20 23:40:45,901 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1736649114] [2022-02-20 23:40:45,901 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:45,902 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 11 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:45,902 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:45,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 11 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:45,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:45,942 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:40:45,943 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:45,943 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:40:45,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:40:45,943 INFO L87 Difference]: Start difference. First operand 94 states and 115 transitions. Second operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 11 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:46,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:46,925 INFO L93 Difference]: Finished difference Result 142 states and 172 transitions. [2022-02-20 23:40:46,927 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:40:46,927 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 11 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:40:46,927 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:46,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 11 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:46,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 110 transitions. [2022-02-20 23:40:46,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 11 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:46,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 110 transitions. [2022-02-20 23:40:46,930 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 110 transitions. [2022-02-20 23:40:47,085 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:47,087 INFO L225 Difference]: With dead ends: 142 [2022-02-20 23:40:47,087 INFO L226 Difference]: Without dead ends: 142 [2022-02-20 23:40:47,087 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=84, Invalid=156, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:40:47,088 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 290 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 91 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 290 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 91 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:47,088 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [290 Valid, 164 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 91 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:40:47,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2022-02-20 23:40:47,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 83. [2022-02-20 23:40:47,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:47,090 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand has 83 states, 74 states have (on average 1.3513513513513513) internal successors, (100), 82 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,091 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand has 83 states, 74 states have (on average 1.3513513513513513) internal successors, (100), 82 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,091 INFO L87 Difference]: Start difference. First operand 142 states. Second operand has 83 states, 74 states have (on average 1.3513513513513513) internal successors, (100), 82 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,093 INFO L93 Difference]: Finished difference Result 142 states and 172 transitions. [2022-02-20 23:40:47,093 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 172 transitions. [2022-02-20 23:40:47,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:47,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:47,094 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 74 states have (on average 1.3513513513513513) internal successors, (100), 82 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 142 states. [2022-02-20 23:40:47,094 INFO L87 Difference]: Start difference. First operand has 83 states, 74 states have (on average 1.3513513513513513) internal successors, (100), 82 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 142 states. [2022-02-20 23:40:47,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:47,101 INFO L93 Difference]: Finished difference Result 142 states and 172 transitions. [2022-02-20 23:40:47,101 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 172 transitions. [2022-02-20 23:40:47,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:47,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:47,101 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:47,101 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:47,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 74 states have (on average 1.3513513513513513) internal successors, (100), 82 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 100 transitions. [2022-02-20 23:40:47,103 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 100 transitions. Word has length 16 [2022-02-20 23:40:47,103 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:47,103 INFO L470 AbstractCegarLoop]: Abstraction has 83 states and 100 transitions. [2022-02-20 23:40:47,104 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 11 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,104 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 100 transitions. [2022-02-20 23:40:47,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:40:47,104 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:47,104 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:47,118 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:47,313 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:47,313 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:47,314 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:47,314 INFO L85 PathProgramCache]: Analyzing trace with hash -862198757, now seen corresponding path program 1 times [2022-02-20 23:40:47,314 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:47,315 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1516020670] [2022-02-20 23:40:47,315 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:47,315 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:47,315 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:47,316 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:47,319 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Waiting until timeout for monitored process [2022-02-20 23:40:47,374 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:47,376 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:40:47,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:47,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:47,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {5304#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {5304#true} is VALID [2022-02-20 23:40:47,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {5304#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {5304#true} is VALID [2022-02-20 23:40:47,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {5304#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {5304#true} is VALID [2022-02-20 23:40:47,468 INFO L290 TraceCheckUtils]: 3: Hoare triple {5304#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:47,468 INFO L290 TraceCheckUtils]: 4: Hoare triple {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:47,468 INFO L290 TraceCheckUtils]: 5: Hoare triple {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:47,469 INFO L290 TraceCheckUtils]: 6: Hoare triple {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:47,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} havoc main_#t~nondet14#1; {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:47,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:47,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:40:47,470 INFO L290 TraceCheckUtils]: 10: Hoare triple {5318#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} main_~i~2#1 := 0bv32; {5340#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:47,471 INFO L290 TraceCheckUtils]: 11: Hoare triple {5340#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {5340#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:47,472 INFO L290 TraceCheckUtils]: 12: Hoare triple {5340#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {5340#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:47,472 INFO L290 TraceCheckUtils]: 13: Hoare triple {5340#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} havoc main_#t~nondet16#1; {5340#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:47,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {5340#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {5353#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv1 32)))} is VALID [2022-02-20 23:40:47,473 INFO L290 TraceCheckUtils]: 15: Hoare triple {5353#(and (= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv1 32)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {5305#false} is VALID [2022-02-20 23:40:47,473 INFO L290 TraceCheckUtils]: 16: Hoare triple {5305#false} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))), #length[main_~B~0#1.base]) && ~bvule32(~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), ~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))))) && ~bvule32(0bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)))); {5305#false} is VALID [2022-02-20 23:40:47,473 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:47,473 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:47,535 INFO L290 TraceCheckUtils]: 16: Hoare triple {5305#false} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))), #length[main_~B~0#1.base]) && ~bvule32(~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), ~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))))) && ~bvule32(0bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)))); {5305#false} is VALID [2022-02-20 23:40:47,535 INFO L290 TraceCheckUtils]: 15: Hoare triple {5363#(not (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {5305#false} is VALID [2022-02-20 23:40:47,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {5367#(not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {5363#(not (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,541 INFO L290 TraceCheckUtils]: 13: Hoare triple {5367#(not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|))} havoc main_#t~nondet16#1; {5367#(not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,541 INFO L290 TraceCheckUtils]: 12: Hoare triple {5367#(not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {5367#(not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {5367#(not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {5367#(not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,542 INFO L290 TraceCheckUtils]: 10: Hoare triple {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} main_~i~2#1 := 0bv32; {5367#(not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,543 INFO L290 TraceCheckUtils]: 8: Hoare triple {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,543 INFO L290 TraceCheckUtils]: 7: Hoare triple {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} havoc main_#t~nondet14#1; {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,544 INFO L290 TraceCheckUtils]: 6: Hoare triple {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,544 INFO L290 TraceCheckUtils]: 5: Hoare triple {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,544 INFO L290 TraceCheckUtils]: 4: Hoare triple {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,545 INFO L290 TraceCheckUtils]: 3: Hoare triple {5304#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {5380#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:40:47,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {5304#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {5304#true} is VALID [2022-02-20 23:40:47,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {5304#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {5304#true} is VALID [2022-02-20 23:40:47,545 INFO L290 TraceCheckUtils]: 0: Hoare triple {5304#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {5304#true} is VALID [2022-02-20 23:40:47,546 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:47,546 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:47,546 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1516020670] [2022-02-20 23:40:47,546 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1516020670] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:47,546 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:40:47,546 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-02-20 23:40:47,546 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [309227007] [2022-02-20 23:40:47,546 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:47,547 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:40:47,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:47,547 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:47,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:47,579 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:40:47,579 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:47,580 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:40:47,580 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:40:47,580 INFO L87 Difference]: Start difference. First operand 83 states and 100 transitions. Second operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,378 INFO L93 Difference]: Finished difference Result 113 states and 134 transitions. [2022-02-20 23:40:48,379 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:40:48,379 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:40:48,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:48,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2022-02-20 23:40:48,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2022-02-20 23:40:48,380 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 80 transitions. [2022-02-20 23:40:48,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,471 INFO L225 Difference]: With dead ends: 113 [2022-02-20 23:40:48,471 INFO L226 Difference]: Without dead ends: 113 [2022-02-20 23:40:48,471 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:40:48,472 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 52 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 228 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:48,472 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 228 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:40:48,473 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-02-20 23:40:48,474 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 87. [2022-02-20 23:40:48,474 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:48,475 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 87 states, 78 states have (on average 1.3333333333333333) internal successors, (104), 86 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,475 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 87 states, 78 states have (on average 1.3333333333333333) internal successors, (104), 86 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,475 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 87 states, 78 states have (on average 1.3333333333333333) internal successors, (104), 86 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,477 INFO L93 Difference]: Finished difference Result 113 states and 134 transitions. [2022-02-20 23:40:48,477 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 134 transitions. [2022-02-20 23:40:48,477 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,477 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,478 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 78 states have (on average 1.3333333333333333) internal successors, (104), 86 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 113 states. [2022-02-20 23:40:48,478 INFO L87 Difference]: Start difference. First operand has 87 states, 78 states have (on average 1.3333333333333333) internal successors, (104), 86 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 113 states. [2022-02-20 23:40:48,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:48,480 INFO L93 Difference]: Finished difference Result 113 states and 134 transitions. [2022-02-20 23:40:48,480 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 134 transitions. [2022-02-20 23:40:48,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:48,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:48,480 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:48,481 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:48,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 78 states have (on average 1.3333333333333333) internal successors, (104), 86 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 104 transitions. [2022-02-20 23:40:48,482 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 104 transitions. Word has length 17 [2022-02-20 23:40:48,482 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:48,482 INFO L470 AbstractCegarLoop]: Abstraction has 87 states and 104 transitions. [2022-02-20 23:40:48,482 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,483 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 104 transitions. [2022-02-20 23:40:48,483 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:40:48,483 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:48,483 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:48,490 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:48,690 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:48,691 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:48,691 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:48,691 INFO L85 PathProgramCache]: Analyzing trace with hash -1921793684, now seen corresponding path program 1 times [2022-02-20 23:40:48,691 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:48,691 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [275453145] [2022-02-20 23:40:48,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:48,691 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:48,691 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:48,692 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:48,693 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Waiting until timeout for monitored process [2022-02-20 23:40:48,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:48,759 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:40:48,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:48,767 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:48,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {5836#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {5836#true} is VALID [2022-02-20 23:40:48,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {5836#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {5836#true} is VALID [2022-02-20 23:40:48,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {5836#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {5836#true} is VALID [2022-02-20 23:40:48,871 INFO L290 TraceCheckUtils]: 3: Hoare triple {5836#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:48,871 INFO L290 TraceCheckUtils]: 4: Hoare triple {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:48,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:48,873 INFO L290 TraceCheckUtils]: 6: Hoare triple {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:48,873 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} havoc main_#t~nondet14#1; {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:48,874 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:48,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:48,875 INFO L290 TraceCheckUtils]: 10: Hoare triple {5850#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_~i~2#1 := 0bv32; {5872#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:48,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {5872#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {5837#false} is VALID [2022-02-20 23:40:48,876 INFO L290 TraceCheckUtils]: 12: Hoare triple {5837#false} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {5837#false} is VALID [2022-02-20 23:40:48,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {5837#false} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {5837#false} is VALID [2022-02-20 23:40:48,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {5837#false} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {5837#false} is VALID [2022-02-20 23:40:48,877 INFO L290 TraceCheckUtils]: 15: Hoare triple {5837#false} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {5837#false} is VALID [2022-02-20 23:40:48,877 INFO L290 TraceCheckUtils]: 16: Hoare triple {5837#false} assume !(1bv1 == #valid[diff_~B#1.base]); {5837#false} is VALID [2022-02-20 23:40:48,877 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:48,877 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:40:48,878 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:48,878 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [275453145] [2022-02-20 23:40:48,878 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [275453145] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:40:48,878 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:40:48,878 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:40:48,878 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [905929218] [2022-02-20 23:40:48,878 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:40:48,880 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:40:48,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:48,881 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:48,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:48,904 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:40:48,905 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:48,905 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:40:48,905 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:48,905 INFO L87 Difference]: Start difference. First operand 87 states and 104 transitions. Second operand has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:49,134 INFO L93 Difference]: Finished difference Result 89 states and 105 transitions. [2022-02-20 23:40:49,134 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:40:49,134 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:40:49,135 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:49,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 48 transitions. [2022-02-20 23:40:49,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 48 transitions. [2022-02-20 23:40:49,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 48 transitions. [2022-02-20 23:40:49,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:49,218 INFO L225 Difference]: With dead ends: 89 [2022-02-20 23:40:49,218 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 23:40:49,218 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:40:49,219 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 37 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 69 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:49,219 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 69 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:40:49,219 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 23:40:49,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 87. [2022-02-20 23:40:49,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:49,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 87 states, 78 states have (on average 1.3205128205128205) internal successors, (103), 86 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,221 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 87 states, 78 states have (on average 1.3205128205128205) internal successors, (103), 86 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,221 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 87 states, 78 states have (on average 1.3205128205128205) internal successors, (103), 86 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:49,222 INFO L93 Difference]: Finished difference Result 89 states and 105 transitions. [2022-02-20 23:40:49,223 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 105 transitions. [2022-02-20 23:40:49,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:49,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:49,223 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 78 states have (on average 1.3205128205128205) internal successors, (103), 86 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 89 states. [2022-02-20 23:40:49,223 INFO L87 Difference]: Start difference. First operand has 87 states, 78 states have (on average 1.3205128205128205) internal successors, (103), 86 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 89 states. [2022-02-20 23:40:49,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:49,224 INFO L93 Difference]: Finished difference Result 89 states and 105 transitions. [2022-02-20 23:40:49,225 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 105 transitions. [2022-02-20 23:40:49,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:49,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:49,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:49,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:49,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 78 states have (on average 1.3205128205128205) internal successors, (103), 86 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 103 transitions. [2022-02-20 23:40:49,227 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 103 transitions. Word has length 17 [2022-02-20 23:40:49,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:49,228 INFO L470 AbstractCegarLoop]: Abstraction has 87 states and 103 transitions. [2022-02-20 23:40:49,228 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:49,228 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 103 transitions. [2022-02-20 23:40:49,228 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:40:49,228 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:49,229 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:49,239 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:49,438 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:49,438 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:49,439 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:49,439 INFO L85 PathProgramCache]: Analyzing trace with hash -1873316007, now seen corresponding path program 1 times [2022-02-20 23:40:49,439 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:49,439 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1686036734] [2022-02-20 23:40:49,439 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:49,439 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:49,439 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:49,440 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:49,441 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Waiting until timeout for monitored process [2022-02-20 23:40:49,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:49,510 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:40:49,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:49,522 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:49,574 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:49,594 INFO L356 Elim1Store]: treesize reduction 26, result has 31.6 percent of original size [2022-02-20 23:40:49,594 INFO L390 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 14 treesize of output 25 [2022-02-20 23:40:49,605 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 40 [2022-02-20 23:40:49,960 INFO L290 TraceCheckUtils]: 0: Hoare triple {6244#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {6244#true} is VALID [2022-02-20 23:40:49,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {6244#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {6244#true} is VALID [2022-02-20 23:40:49,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {6244#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {6244#true} is VALID [2022-02-20 23:40:49,960 INFO L290 TraceCheckUtils]: 3: Hoare triple {6244#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {6258#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,964 INFO L290 TraceCheckUtils]: 4: Hoare triple {6258#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,967 INFO L290 TraceCheckUtils]: 6: Hoare triple {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} havoc main_#t~nondet14#1; {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,968 INFO L290 TraceCheckUtils]: 9: Hoare triple {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,969 INFO L290 TraceCheckUtils]: 10: Hoare triple {6262#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_~i~2#1 := 0bv32; {6281#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {6281#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {6281#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,970 INFO L290 TraceCheckUtils]: 12: Hoare triple {6281#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {6281#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {6281#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} havoc main_#t~nondet16#1; {6281#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {6281#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {6294#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:49,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {6294#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {6298#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:40:49,974 INFO L290 TraceCheckUtils]: 16: Hoare triple {6298#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))), #length[main_~B~0#1.base]) && ~bvule32(~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), ~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))))) && ~bvule32(0bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)))); {6245#false} is VALID [2022-02-20 23:40:49,974 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:49,974 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:50,524 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:40:50,576 INFO L290 TraceCheckUtils]: 16: Hoare triple {6302#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|))))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))), #length[main_~B~0#1.base]) && ~bvule32(~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), ~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))))) && ~bvule32(0bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)))); {6245#false} is VALID [2022-02-20 23:40:50,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {6306#(or (not (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {6302#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|))))} is VALID [2022-02-20 23:40:50,888 INFO L290 TraceCheckUtils]: 14: Hoare triple {6310#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {6306#(or (not (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:40:50,890 INFO L290 TraceCheckUtils]: 13: Hoare triple {6310#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} havoc main_#t~nondet16#1; {6310#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:40:50,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {6310#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {6310#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:40:50,895 INFO L290 TraceCheckUtils]: 11: Hoare triple {6310#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {6310#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:40:50,896 INFO L290 TraceCheckUtils]: 10: Hoare triple {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} main_~i~2#1 := 0bv32; {6310#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:40:50,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:40:50,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:40:50,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} havoc main_#t~nondet14#1; {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:40:50,898 INFO L290 TraceCheckUtils]: 6: Hoare triple {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:40:50,898 INFO L290 TraceCheckUtils]: 5: Hoare triple {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:40:50,901 INFO L290 TraceCheckUtils]: 4: Hoare triple {6342#(or (bvule (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {6323#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:40:50,902 INFO L290 TraceCheckUtils]: 3: Hoare triple {6244#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {6342#(or (bvule (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:40:50,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {6244#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {6244#true} is VALID [2022-02-20 23:40:50,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {6244#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {6244#true} is VALID [2022-02-20 23:40:50,903 INFO L290 TraceCheckUtils]: 0: Hoare triple {6244#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {6244#true} is VALID [2022-02-20 23:40:50,903 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:40:50,903 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:50,903 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1686036734] [2022-02-20 23:40:50,903 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1686036734] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:50,903 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:40:50,904 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 11 [2022-02-20 23:40:50,904 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [976218755] [2022-02-20 23:40:50,904 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:50,904 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.8181818181818183) internal successors, (31), 12 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:40:50,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:50,905 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.8181818181818183) internal successors, (31), 12 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:51,466 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:51,467 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:40:51,467 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:51,467 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:40:51,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:40:51,467 INFO L87 Difference]: Start difference. First operand 87 states and 103 transitions. Second operand has 12 states, 11 states have (on average 2.8181818181818183) internal successors, (31), 12 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,436 INFO L93 Difference]: Finished difference Result 122 states and 145 transitions. [2022-02-20 23:40:53,436 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:40:53,436 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.8181818181818183) internal successors, (31), 12 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:40:53,436 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:53,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.8181818181818183) internal successors, (31), 12 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 83 transitions. [2022-02-20 23:40:53,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.8181818181818183) internal successors, (31), 12 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 83 transitions. [2022-02-20 23:40:53,437 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 83 transitions. [2022-02-20 23:40:53,969 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:53,970 INFO L225 Difference]: With dead ends: 122 [2022-02-20 23:40:53,970 INFO L226 Difference]: Without dead ends: 122 [2022-02-20 23:40:53,970 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=62, Invalid=120, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:40:53,971 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 154 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 154 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 18 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:53,971 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [154 Valid, 151 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 109 Invalid, 0 Unknown, 18 Unchecked, 0.6s Time] [2022-02-20 23:40:53,971 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-02-20 23:40:53,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 95. [2022-02-20 23:40:53,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:53,973 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 95 states, 86 states have (on average 1.313953488372093) internal successors, (113), 94 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,973 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 95 states, 86 states have (on average 1.313953488372093) internal successors, (113), 94 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,974 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 95 states, 86 states have (on average 1.313953488372093) internal successors, (113), 94 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,975 INFO L93 Difference]: Finished difference Result 122 states and 145 transitions. [2022-02-20 23:40:53,976 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 145 transitions. [2022-02-20 23:40:53,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,976 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 86 states have (on average 1.313953488372093) internal successors, (113), 94 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 122 states. [2022-02-20 23:40:53,977 INFO L87 Difference]: Start difference. First operand has 95 states, 86 states have (on average 1.313953488372093) internal successors, (113), 94 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 122 states. [2022-02-20 23:40:53,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:53,979 INFO L93 Difference]: Finished difference Result 122 states and 145 transitions. [2022-02-20 23:40:53,979 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 145 transitions. [2022-02-20 23:40:53,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:53,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:53,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:53,979 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:53,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 86 states have (on average 1.313953488372093) internal successors, (113), 94 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 113 transitions. [2022-02-20 23:40:53,981 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 113 transitions. Word has length 17 [2022-02-20 23:40:53,981 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:53,981 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 113 transitions. [2022-02-20 23:40:53,982 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.8181818181818183) internal successors, (31), 12 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:53,982 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 113 transitions. [2022-02-20 23:40:53,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 23:40:53,982 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:53,982 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:53,991 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:54,191 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:40:54,192 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:54,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:54,192 INFO L85 PathProgramCache]: Analyzing trace with hash -472171212, now seen corresponding path program 2 times [2022-02-20 23:40:54,192 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:40:54,192 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1451651127] [2022-02-20 23:40:54,192 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:40:54,193 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:40:54,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:40:54,194 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:40:54,194 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Waiting until timeout for monitored process [2022-02-20 23:40:54,265 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:40:54,265 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:40:54,268 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 21 conjunts are in the unsatisfiable core [2022-02-20 23:40:54,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:54,279 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:54,358 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:54,360 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:54,361 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:40:54,362 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 20 [2022-02-20 23:40:54,376 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-02-20 23:40:54,377 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 21 [2022-02-20 23:40:55,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {6819#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {6819#true} is VALID [2022-02-20 23:40:55,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {6819#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {6819#true} is VALID [2022-02-20 23:40:55,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {6819#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {6830#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:55,270 INFO L290 TraceCheckUtils]: 3: Hoare triple {6830#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {6830#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:40:55,275 INFO L290 TraceCheckUtils]: 4: Hoare triple {6830#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {6837#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:55,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {6837#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6837#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:55,278 INFO L290 TraceCheckUtils]: 6: Hoare triple {6837#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {6837#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:55,279 INFO L290 TraceCheckUtils]: 7: Hoare triple {6837#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} havoc main_#t~nondet14#1; {6837#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} is VALID [2022-02-20 23:40:55,280 INFO L290 TraceCheckUtils]: 8: Hoare triple {6837#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~1#1| (_ bv0 32)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {6850#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} is VALID [2022-02-20 23:40:55,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {6850#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6850#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} is VALID [2022-02-20 23:40:55,283 INFO L290 TraceCheckUtils]: 10: Hoare triple {6850#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {6850#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} is VALID [2022-02-20 23:40:55,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {6850#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} havoc main_#t~nondet14#1; {6850#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} is VALID [2022-02-20 23:40:55,285 INFO L290 TraceCheckUtils]: 12: Hoare triple {6850#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~1#1|) (_ bv0 32)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {6863#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2022-02-20 23:40:55,286 INFO L290 TraceCheckUtils]: 13: Hoare triple {6863#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967294 32)) (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6863#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2022-02-20 23:40:55,288 INFO L290 TraceCheckUtils]: 14: Hoare triple {6863#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967294 32)) (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {6863#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2022-02-20 23:40:55,289 INFO L290 TraceCheckUtils]: 15: Hoare triple {6863#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967294 32)) (_ bv0 32)))} havoc main_#t~nondet14#1; {6863#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2022-02-20 23:40:55,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {6863#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967294 32)) (_ bv0 32)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {6876#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2022-02-20 23:40:55,291 INFO L290 TraceCheckUtils]: 17: Hoare triple {6876#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))) (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6880#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967293 32)) (_ bv0 32)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32)) (|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:40:55,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {6880#(and (= |ULTIMATE.start_main_~A~0#1.offset| (_ bv0 32)) (= (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv4294967293 32)) (_ bv0 32)) (exists ((|ULTIMATE.start_main_#t~malloc12#1.base| (_ BitVec 32)) (|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~A~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (not (= |ULTIMATE.start_main_#t~malloc12#1.base| |ULTIMATE.start_main_~A~0#1.base|)) (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|) (= (select |#length| |ULTIMATE.start_main_#t~malloc12#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))), #length[main_~A~0#1.base]) && ~bvule32(~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), ~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))))) && ~bvule32(0bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)))); {6820#false} is VALID [2022-02-20 23:40:55,292 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:55,293 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:56,041 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:40:56,042 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:40:56,097 INFO L290 TraceCheckUtils]: 18: Hoare triple {6884#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))), #length[main_~A~0#1.base]) && ~bvule32(~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), ~bvadd32(4bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1))))) && ~bvule32(0bv32, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)))); {6820#false} is VALID [2022-02-20 23:40:56,098 INFO L290 TraceCheckUtils]: 17: Hoare triple {6888#(or (not (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6884#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)))} is VALID [2022-02-20 23:40:56,389 INFO L290 TraceCheckUtils]: 16: Hoare triple {6892#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {6888#(or (not (bvslt |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} is VALID [2022-02-20 23:40:56,390 INFO L290 TraceCheckUtils]: 15: Hoare triple {6892#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} havoc main_#t~nondet14#1; {6892#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:56,391 INFO L290 TraceCheckUtils]: 14: Hoare triple {6892#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {6892#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:56,391 INFO L290 TraceCheckUtils]: 13: Hoare triple {6892#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6892#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:56,986 INFO L290 TraceCheckUtils]: 12: Hoare triple {6905#(or (and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv2 32)) |ULTIMATE.start_main_~Alen~0#1|)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {6892#(or (and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv1 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:56,986 INFO L290 TraceCheckUtils]: 11: Hoare triple {6905#(or (and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv2 32)) |ULTIMATE.start_main_~Alen~0#1|)))} havoc main_#t~nondet14#1; {6905#(or (and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv2 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:56,987 INFO L290 TraceCheckUtils]: 10: Hoare triple {6905#(or (and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv2 32)) |ULTIMATE.start_main_~Alen~0#1|)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {6905#(or (and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv2 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:56,988 INFO L290 TraceCheckUtils]: 9: Hoare triple {6905#(or (and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv2 32)) |ULTIMATE.start_main_~Alen~0#1|)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6905#(or (and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv2 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:57,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {6918#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv3 32)) |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {6905#(or (and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv2 32)) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:57,588 INFO L290 TraceCheckUtils]: 7: Hoare triple {6918#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv3 32)) |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} havoc main_#t~nondet14#1; {6918#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv3 32)) |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} is VALID [2022-02-20 23:40:57,591 INFO L290 TraceCheckUtils]: 6: Hoare triple {6918#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv3 32)) |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {6918#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv3 32)) |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} is VALID [2022-02-20 23:40:57,592 INFO L290 TraceCheckUtils]: 5: Hoare triple {6918#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv3 32)) |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {6918#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv3 32)) |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} is VALID [2022-02-20 23:40:57,595 INFO L290 TraceCheckUtils]: 4: Hoare triple {6931#(or (bvule (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Alen~0#1|)))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {6918#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~1#1| (_ bv3 32)) |ULTIMATE.start_main_~Alen~0#1|)) (and (bvule (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|) (select |#length| |ULTIMATE.start_main_~A~0#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~A~0#1.offset|))))} is VALID [2022-02-20 23:40:57,596 INFO L290 TraceCheckUtils]: 3: Hoare triple {6931#(or (bvule (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Alen~0#1|)))} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {6931#(or (bvule (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:57,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {6819#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {6931#(or (bvule (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)) (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Alen~0#1|)))} is VALID [2022-02-20 23:40:57,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {6819#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {6819#true} is VALID [2022-02-20 23:40:57,597 INFO L290 TraceCheckUtils]: 0: Hoare triple {6819#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {6819#true} is VALID [2022-02-20 23:40:57,597 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:57,597 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:40:57,597 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1451651127] [2022-02-20 23:40:57,598 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1451651127] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:57,598 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:40:57,598 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 13 [2022-02-20 23:40:57,598 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [781971861] [2022-02-20 23:40:57,598 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:57,599 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.769230769230769) internal successors, (36), 14 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 23:40:57,599 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:57,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.769230769230769) internal successors, (36), 14 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:40:59,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:59,203 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 23:40:59,203 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:40:59,204 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 23:40:59,204 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=128, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:40:59,204 INFO L87 Difference]: Start difference. First operand 95 states and 113 transitions. Second operand has 14 states, 13 states have (on average 2.769230769230769) internal successors, (36), 14 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:02,150 INFO L93 Difference]: Finished difference Result 127 states and 153 transitions. [2022-02-20 23:41:02,150 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-02-20 23:41:02,150 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.769230769230769) internal successors, (36), 14 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 23:41:02,151 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:02,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.769230769230769) internal successors, (36), 14 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 79 transitions. [2022-02-20 23:41:02,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.769230769230769) internal successors, (36), 14 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:02,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 79 transitions. [2022-02-20 23:41:02,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 79 transitions. [2022-02-20 23:41:06,682 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 77 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:06,683 INFO L225 Difference]: With dead ends: 127 [2022-02-20 23:41:06,683 INFO L226 Difference]: Without dead ends: 127 [2022-02-20 23:41:06,684 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=155, Invalid=351, Unknown=0, NotChecked=0, Total=506 [2022-02-20 23:41:06,684 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 9 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 87 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 18 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:06,685 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 208 Invalid, 87 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 65 Invalid, 0 Unknown, 18 Unchecked, 0.6s Time] [2022-02-20 23:41:06,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-02-20 23:41:06,687 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 127. [2022-02-20 23:41:06,688 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:06,688 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 127 states, 118 states have (on average 1.2966101694915255) internal successors, (153), 126 states have internal predecessors, (153), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:06,688 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 127 states, 118 states have (on average 1.2966101694915255) internal successors, (153), 126 states have internal predecessors, (153), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:06,688 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 127 states, 118 states have (on average 1.2966101694915255) internal successors, (153), 126 states have internal predecessors, (153), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:06,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:06,693 INFO L93 Difference]: Finished difference Result 127 states and 153 transitions. [2022-02-20 23:41:06,694 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 153 transitions. [2022-02-20 23:41:06,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:06,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:06,694 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 118 states have (on average 1.2966101694915255) internal successors, (153), 126 states have internal predecessors, (153), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 127 states. [2022-02-20 23:41:06,695 INFO L87 Difference]: Start difference. First operand has 127 states, 118 states have (on average 1.2966101694915255) internal successors, (153), 126 states have internal predecessors, (153), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 127 states. [2022-02-20 23:41:06,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:06,697 INFO L93 Difference]: Finished difference Result 127 states and 153 transitions. [2022-02-20 23:41:06,697 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 153 transitions. [2022-02-20 23:41:06,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:06,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:06,697 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:06,697 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:06,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 118 states have (on average 1.2966101694915255) internal successors, (153), 126 states have internal predecessors, (153), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:06,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 153 transitions. [2022-02-20 23:41:06,699 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 153 transitions. Word has length 19 [2022-02-20 23:41:06,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:06,700 INFO L470 AbstractCegarLoop]: Abstraction has 127 states and 153 transitions. [2022-02-20 23:41:06,700 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.769230769230769) internal successors, (36), 14 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:06,700 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 153 transitions. [2022-02-20 23:41:06,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 23:41:06,703 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:06,703 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:06,712 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:06,911 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:06,911 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:06,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:06,912 INFO L85 PathProgramCache]: Analyzing trace with hash -1835293711, now seen corresponding path program 1 times [2022-02-20 23:41:06,912 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:06,912 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [266435161] [2022-02-20 23:41:06,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:06,912 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:06,913 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:06,920 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:06,926 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Waiting until timeout for monitored process [2022-02-20 23:41:07,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:07,016 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:41:07,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:07,029 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:07,085 INFO L290 TraceCheckUtils]: 0: Hoare triple {7469#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {7469#true} is VALID [2022-02-20 23:41:07,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {7469#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {7469#true} is VALID [2022-02-20 23:41:07,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {7469#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {7469#true} is VALID [2022-02-20 23:41:07,085 INFO L290 TraceCheckUtils]: 3: Hoare triple {7469#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {7469#true} is VALID [2022-02-20 23:41:07,085 INFO L290 TraceCheckUtils]: 4: Hoare triple {7469#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {7469#true} is VALID [2022-02-20 23:41:07,085 INFO L290 TraceCheckUtils]: 5: Hoare triple {7469#true} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {7469#true} is VALID [2022-02-20 23:41:07,086 INFO L290 TraceCheckUtils]: 6: Hoare triple {7469#true} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {7469#true} is VALID [2022-02-20 23:41:07,086 INFO L290 TraceCheckUtils]: 7: Hoare triple {7469#true} havoc main_#t~nondet14#1; {7469#true} is VALID [2022-02-20 23:41:07,086 INFO L290 TraceCheckUtils]: 8: Hoare triple {7469#true} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {7469#true} is VALID [2022-02-20 23:41:07,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {7469#true} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {7469#true} is VALID [2022-02-20 23:41:07,086 INFO L290 TraceCheckUtils]: 10: Hoare triple {7469#true} main_~i~2#1 := 0bv32; {7469#true} is VALID [2022-02-20 23:41:07,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {7469#true} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {7469#true} is VALID [2022-02-20 23:41:07,086 INFO L290 TraceCheckUtils]: 12: Hoare triple {7469#true} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {7510#(= (select |#valid| |ULTIMATE.start_main_~B~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:41:07,087 INFO L290 TraceCheckUtils]: 13: Hoare triple {7510#(= (select |#valid| |ULTIMATE.start_main_~B~0#1.base|) (_ bv1 1))} havoc main_#t~nondet16#1; {7510#(= (select |#valid| |ULTIMATE.start_main_~B~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:41:07,087 INFO L290 TraceCheckUtils]: 14: Hoare triple {7510#(= (select |#valid| |ULTIMATE.start_main_~B~0#1.base|) (_ bv1 1))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {7510#(= (select |#valid| |ULTIMATE.start_main_~B~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:41:07,087 INFO L290 TraceCheckUtils]: 15: Hoare triple {7510#(= (select |#valid| |ULTIMATE.start_main_~B~0#1.base|) (_ bv1 1))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {7510#(= (select |#valid| |ULTIMATE.start_main_~B~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:41:07,088 INFO L290 TraceCheckUtils]: 16: Hoare triple {7510#(= (select |#valid| |ULTIMATE.start_main_~B~0#1.base|) (_ bv1 1))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {7523#(= (select |#valid| |ULTIMATE.start_diff_~B#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:41:07,088 INFO L290 TraceCheckUtils]: 17: Hoare triple {7523#(= (select |#valid| |ULTIMATE.start_diff_~B#1.base|) (_ bv1 1))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {7523#(= (select |#valid| |ULTIMATE.start_diff_~B#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:41:07,088 INFO L290 TraceCheckUtils]: 18: Hoare triple {7523#(= (select |#valid| |ULTIMATE.start_diff_~B#1.base|) (_ bv1 1))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {7523#(= (select |#valid| |ULTIMATE.start_diff_~B#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:41:07,089 INFO L290 TraceCheckUtils]: 19: Hoare triple {7523#(= (select |#valid| |ULTIMATE.start_diff_~B#1.base|) (_ bv1 1))} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {7523#(= (select |#valid| |ULTIMATE.start_diff_~B#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:41:07,089 INFO L290 TraceCheckUtils]: 20: Hoare triple {7523#(= (select |#valid| |ULTIMATE.start_diff_~B#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[diff_~B#1.base]); {7470#false} is VALID [2022-02-20 23:41:07,089 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:07,089 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:41:07,089 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:07,089 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [266435161] [2022-02-20 23:41:07,089 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [266435161] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:07,090 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:07,090 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:41:07,090 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1865412303] [2022-02-20 23:41:07,090 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:07,090 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 23:41:07,090 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:07,090 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,112 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:07,112 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:41:07,112 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:07,112 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:41:07,113 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:07,113 INFO L87 Difference]: Start difference. First operand 127 states and 153 transitions. Second operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:07,371 INFO L93 Difference]: Finished difference Result 126 states and 152 transitions. [2022-02-20 23:41:07,371 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:41:07,372 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 23:41:07,372 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:07,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2022-02-20 23:41:07,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2022-02-20 23:41:07,373 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 43 transitions. [2022-02-20 23:41:07,434 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:07,436 INFO L225 Difference]: With dead ends: 126 [2022-02-20 23:41:07,436 INFO L226 Difference]: Without dead ends: 126 [2022-02-20 23:41:07,436 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:07,436 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 45 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:07,437 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 49 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:07,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2022-02-20 23:41:07,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 126. [2022-02-20 23:41:07,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:07,439 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand has 126 states, 118 states have (on average 1.2881355932203389) internal successors, (152), 125 states have internal predecessors, (152), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,439 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand has 126 states, 118 states have (on average 1.2881355932203389) internal successors, (152), 125 states have internal predecessors, (152), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,439 INFO L87 Difference]: Start difference. First operand 126 states. Second operand has 126 states, 118 states have (on average 1.2881355932203389) internal successors, (152), 125 states have internal predecessors, (152), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:07,441 INFO L93 Difference]: Finished difference Result 126 states and 152 transitions. [2022-02-20 23:41:07,441 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 152 transitions. [2022-02-20 23:41:07,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:07,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:07,441 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 118 states have (on average 1.2881355932203389) internal successors, (152), 125 states have internal predecessors, (152), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 126 states. [2022-02-20 23:41:07,442 INFO L87 Difference]: Start difference. First operand has 126 states, 118 states have (on average 1.2881355932203389) internal successors, (152), 125 states have internal predecessors, (152), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 126 states. [2022-02-20 23:41:07,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:07,444 INFO L93 Difference]: Finished difference Result 126 states and 152 transitions. [2022-02-20 23:41:07,444 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 152 transitions. [2022-02-20 23:41:07,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:07,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:07,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:07,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:07,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 118 states have (on average 1.2881355932203389) internal successors, (152), 125 states have internal predecessors, (152), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 152 transitions. [2022-02-20 23:41:07,446 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 152 transitions. Word has length 21 [2022-02-20 23:41:07,446 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:07,447 INFO L470 AbstractCegarLoop]: Abstraction has 126 states and 152 transitions. [2022-02-20 23:41:07,447 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:07,447 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 152 transitions. [2022-02-20 23:41:07,447 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 23:41:07,447 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:07,447 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:07,459 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:07,656 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:07,657 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:07,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:07,657 INFO L85 PathProgramCache]: Analyzing trace with hash -1835293710, now seen corresponding path program 1 times [2022-02-20 23:41:07,657 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:07,657 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [643647350] [2022-02-20 23:41:07,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:07,657 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:07,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:07,658 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:07,659 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Waiting until timeout for monitored process [2022-02-20 23:41:07,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:07,727 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:41:07,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:07,735 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:07,871 INFO L290 TraceCheckUtils]: 0: Hoare triple {8041#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {8041#true} is VALID [2022-02-20 23:41:07,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {8041#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {8041#true} is VALID [2022-02-20 23:41:07,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {8041#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {8041#true} is VALID [2022-02-20 23:41:07,872 INFO L290 TraceCheckUtils]: 3: Hoare triple {8041#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {8041#true} is VALID [2022-02-20 23:41:07,873 INFO L290 TraceCheckUtils]: 4: Hoare triple {8041#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:41:07,873 INFO L290 TraceCheckUtils]: 5: Hoare triple {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:41:07,874 INFO L290 TraceCheckUtils]: 6: Hoare triple {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:41:07,875 INFO L290 TraceCheckUtils]: 7: Hoare triple {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} havoc main_#t~nondet14#1; {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:41:07,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:41:07,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:41:07,876 INFO L290 TraceCheckUtils]: 10: Hoare triple {8058#(= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32))} main_~i~2#1 := 0bv32; {8077#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:07,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {8077#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {8077#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:07,877 INFO L290 TraceCheckUtils]: 12: Hoare triple {8077#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {8084#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:41:07,878 INFO L290 TraceCheckUtils]: 13: Hoare triple {8084#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} havoc main_#t~nondet16#1; {8084#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:41:07,878 INFO L290 TraceCheckUtils]: 14: Hoare triple {8084#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {8084#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:41:07,879 INFO L290 TraceCheckUtils]: 15: Hoare triple {8084#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {8084#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:41:07,880 INFO L290 TraceCheckUtils]: 16: Hoare triple {8084#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {8097#(and (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (= |ULTIMATE.start_diff_~B#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:07,880 INFO L290 TraceCheckUtils]: 17: Hoare triple {8097#(and (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (= |ULTIMATE.start_diff_~B#1.offset| (_ bv0 32)))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {8101#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (= |ULTIMATE.start_diff_~B#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:07,881 INFO L290 TraceCheckUtils]: 18: Hoare triple {8101#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (= |ULTIMATE.start_diff_~B#1.offset| (_ bv0 32)))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {8101#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (= |ULTIMATE.start_diff_~B#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:07,881 INFO L290 TraceCheckUtils]: 19: Hoare triple {8101#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (= |ULTIMATE.start_diff_~B#1.offset| (_ bv0 32)))} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {8101#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (= |ULTIMATE.start_diff_~B#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:07,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {8101#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (= |ULTIMATE.start_diff_~B#1.offset| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))), #length[diff_~B#1.base]) && ~bvule32(~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)))); {8042#false} is VALID [2022-02-20 23:41:07,882 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:07,882 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:08,160 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2022-02-20 23:41:08,264 INFO L290 TraceCheckUtils]: 20: Hoare triple {8111#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) |ULTIMATE.start_diff_~B#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))), #length[diff_~B#1.base]) && ~bvule32(~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)))); {8042#false} is VALID [2022-02-20 23:41:08,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {8111#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) |ULTIMATE.start_diff_~B#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|)))} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {8111#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) |ULTIMATE.start_diff_~B#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|)))} is VALID [2022-02-20 23:41:08,265 INFO L290 TraceCheckUtils]: 18: Hoare triple {8111#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) |ULTIMATE.start_diff_~B#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|)))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {8111#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) |ULTIMATE.start_diff_~B#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|)))} is VALID [2022-02-20 23:41:08,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {8121#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (bvule |ULTIMATE.start_diff_~B#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|)))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {8111#(and (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) |ULTIMATE.start_diff_~B#1.offset|) (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|)))} is VALID [2022-02-20 23:41:08,266 INFO L290 TraceCheckUtils]: 16: Hoare triple {8125#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {8121#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|) (select |#length| |ULTIMATE.start_diff_~B#1.base|)) (bvule |ULTIMATE.start_diff_~B#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_diff_~B#1.offset|)))} is VALID [2022-02-20 23:41:08,267 INFO L290 TraceCheckUtils]: 15: Hoare triple {8125#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {8125#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:41:08,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {8125#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {8125#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:41:08,268 INFO L290 TraceCheckUtils]: 13: Hoare triple {8125#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} havoc main_#t~nondet16#1; {8125#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:41:08,327 INFO L290 TraceCheckUtils]: 12: Hoare triple {8138#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {8125#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)))} is VALID [2022-02-20 23:41:08,328 INFO L290 TraceCheckUtils]: 11: Hoare triple {8138#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {8138#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|))))} is VALID [2022-02-20 23:41:08,329 INFO L290 TraceCheckUtils]: 10: Hoare triple {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} main_~i~2#1 := 0bv32; {8138#(and (bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|))))} is VALID [2022-02-20 23:41:08,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} is VALID [2022-02-20 23:41:08,329 INFO L290 TraceCheckUtils]: 8: Hoare triple {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} is VALID [2022-02-20 23:41:08,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} havoc main_#t~nondet14#1; {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} is VALID [2022-02-20 23:41:08,330 INFO L290 TraceCheckUtils]: 6: Hoare triple {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} is VALID [2022-02-20 23:41:08,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} is VALID [2022-02-20 23:41:08,331 INFO L290 TraceCheckUtils]: 4: Hoare triple {8041#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {8145#(bvule |ULTIMATE.start_main_~B~0#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset|))} is VALID [2022-02-20 23:41:08,331 INFO L290 TraceCheckUtils]: 3: Hoare triple {8041#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {8041#true} is VALID [2022-02-20 23:41:08,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {8041#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {8041#true} is VALID [2022-02-20 23:41:08,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {8041#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {8041#true} is VALID [2022-02-20 23:41:08,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {8041#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {8041#true} is VALID [2022-02-20 23:41:08,331 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:08,332 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:08,332 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [643647350] [2022-02-20 23:41:08,332 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [643647350] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:08,332 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:41:08,332 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 11 [2022-02-20 23:41:08,332 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [947350363] [2022-02-20 23:41:08,332 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:08,332 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 3.4545454545454546) internal successors, (38), 12 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 23:41:08,333 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:08,333 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 3.4545454545454546) internal successors, (38), 12 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:08,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:08,431 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:41:08,431 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:08,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:41:08,432 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:41:08,432 INFO L87 Difference]: Start difference. First operand 126 states and 152 transitions. Second operand has 12 states, 11 states have (on average 3.4545454545454546) internal successors, (38), 12 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:10,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:10,231 INFO L93 Difference]: Finished difference Result 208 states and 249 transitions. [2022-02-20 23:41:10,231 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:41:10,231 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 3.4545454545454546) internal successors, (38), 12 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 23:41:10,231 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:10,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 3.4545454545454546) internal successors, (38), 12 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:10,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-02-20 23:41:10,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 3.4545454545454546) internal successors, (38), 12 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:10,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-02-20 23:41:10,233 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 143 transitions. [2022-02-20 23:41:10,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:10,568 INFO L225 Difference]: With dead ends: 208 [2022-02-20 23:41:10,569 INFO L226 Difference]: Without dead ends: 208 [2022-02-20 23:41:10,569 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=122, Invalid=258, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:41:10,571 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 545 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 103 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 545 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 137 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 103 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:10,575 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [545 Valid, 114 Invalid, 137 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 103 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 23:41:10,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-02-20 23:41:10,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 129. [2022-02-20 23:41:10,581 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:10,581 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 129 states, 121 states have (on average 1.2892561983471074) internal successors, (156), 128 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:10,581 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 129 states, 121 states have (on average 1.2892561983471074) internal successors, (156), 128 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:10,581 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 129 states, 121 states have (on average 1.2892561983471074) internal successors, (156), 128 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:10,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:10,585 INFO L93 Difference]: Finished difference Result 208 states and 249 transitions. [2022-02-20 23:41:10,585 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 249 transitions. [2022-02-20 23:41:10,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:10,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:10,586 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 121 states have (on average 1.2892561983471074) internal successors, (156), 128 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 208 states. [2022-02-20 23:41:10,586 INFO L87 Difference]: Start difference. First operand has 129 states, 121 states have (on average 1.2892561983471074) internal successors, (156), 128 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 208 states. [2022-02-20 23:41:10,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:10,590 INFO L93 Difference]: Finished difference Result 208 states and 249 transitions. [2022-02-20 23:41:10,590 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 249 transitions. [2022-02-20 23:41:10,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:10,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:10,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:10,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:10,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 121 states have (on average 1.2892561983471074) internal successors, (156), 128 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:10,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 156 transitions. [2022-02-20 23:41:10,592 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 156 transitions. Word has length 21 [2022-02-20 23:41:10,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:10,593 INFO L470 AbstractCegarLoop]: Abstraction has 129 states and 156 transitions. [2022-02-20 23:41:10,593 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 3.4545454545454546) internal successors, (38), 12 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:10,593 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 156 transitions. [2022-02-20 23:41:10,593 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:41:10,594 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:10,594 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:10,614 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:10,803 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:10,803 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr10REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:10,803 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:10,803 INFO L85 PathProgramCache]: Analyzing trace with hash -1059572912, now seen corresponding path program 1 times [2022-02-20 23:41:10,804 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:10,804 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [406211456] [2022-02-20 23:41:10,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:10,804 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:10,804 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:10,805 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:10,807 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (22)] Waiting until timeout for monitored process [2022-02-20 23:41:10,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:10,879 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:41:10,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:10,886 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:10,953 INFO L290 TraceCheckUtils]: 0: Hoare triple {8944#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {8944#true} is VALID [2022-02-20 23:41:10,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {8944#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {8944#true} is VALID [2022-02-20 23:41:10,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {8944#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {8944#true} is VALID [2022-02-20 23:41:10,953 INFO L290 TraceCheckUtils]: 3: Hoare triple {8944#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,954 INFO L290 TraceCheckUtils]: 4: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,954 INFO L290 TraceCheckUtils]: 6: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} havoc main_#t~nondet14#1; {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,955 INFO L290 TraceCheckUtils]: 10: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} main_~i~2#1 := 0bv32; {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,956 INFO L290 TraceCheckUtils]: 12: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} havoc main_#t~nondet16#1; {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,957 INFO L290 TraceCheckUtils]: 15: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:10,957 INFO L290 TraceCheckUtils]: 16: Hoare triple {8958#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {8998#(= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)} is VALID [2022-02-20 23:41:10,958 INFO L290 TraceCheckUtils]: 17: Hoare triple {8998#(= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {9002#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= |ULTIMATE.start_diff_~found~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:10,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {9002#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= |ULTIMATE.start_diff_~found~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} assume !(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {8945#false} is VALID [2022-02-20 23:41:10,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {8945#false} assume 0bv32 == diff_~found~0#1; {8945#false} is VALID [2022-02-20 23:41:10,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {8945#false} SUMMARY for call diff_#t~mem5#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L530 {8945#false} is VALID [2022-02-20 23:41:10,959 INFO L290 TraceCheckUtils]: 21: Hoare triple {8945#false} assume !(1bv1 == #valid[diff_~D#1.base]); {8945#false} is VALID [2022-02-20 23:41:10,959 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:41:10,963 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:41:10,963 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:10,963 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [406211456] [2022-02-20 23:41:10,963 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [406211456] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:10,964 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:10,964 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:41:10,964 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1554915965] [2022-02-20 23:41:10,964 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:10,965 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:41:10,965 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:10,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:11,001 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:11,001 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:11,002 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:11,002 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:11,002 INFO L87 Difference]: Start difference. First operand 129 states and 156 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:11,450 INFO L93 Difference]: Finished difference Result 158 states and 189 transitions. [2022-02-20 23:41:11,450 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:41:11,450 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:41:11,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:11,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-02-20 23:41:11,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-02-20 23:41:11,453 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 82 transitions. [2022-02-20 23:41:11,541 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:11,543 INFO L225 Difference]: With dead ends: 158 [2022-02-20 23:41:11,543 INFO L226 Difference]: Without dead ends: 158 [2022-02-20 23:41:11,543 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:41:11,544 INFO L933 BasicCegarLoop]: 47 mSDtfsCounter, 50 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:11,544 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 157 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:11,544 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2022-02-20 23:41:11,546 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 147. [2022-02-20 23:41:11,546 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:11,546 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand has 147 states, 139 states have (on average 1.316546762589928) internal successors, (183), 146 states have internal predecessors, (183), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,547 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand has 147 states, 139 states have (on average 1.316546762589928) internal successors, (183), 146 states have internal predecessors, (183), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,547 INFO L87 Difference]: Start difference. First operand 158 states. Second operand has 147 states, 139 states have (on average 1.316546762589928) internal successors, (183), 146 states have internal predecessors, (183), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:11,549 INFO L93 Difference]: Finished difference Result 158 states and 189 transitions. [2022-02-20 23:41:11,549 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 189 transitions. [2022-02-20 23:41:11,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:11,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:11,550 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 139 states have (on average 1.316546762589928) internal successors, (183), 146 states have internal predecessors, (183), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 158 states. [2022-02-20 23:41:11,550 INFO L87 Difference]: Start difference. First operand has 147 states, 139 states have (on average 1.316546762589928) internal successors, (183), 146 states have internal predecessors, (183), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 158 states. [2022-02-20 23:41:11,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:11,552 INFO L93 Difference]: Finished difference Result 158 states and 189 transitions. [2022-02-20 23:41:11,552 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 189 transitions. [2022-02-20 23:41:11,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:11,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:11,553 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:11,553 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:11,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 139 states have (on average 1.316546762589928) internal successors, (183), 146 states have internal predecessors, (183), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 183 transitions. [2022-02-20 23:41:11,556 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 183 transitions. Word has length 22 [2022-02-20 23:41:11,556 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:11,556 INFO L470 AbstractCegarLoop]: Abstraction has 147 states and 183 transitions. [2022-02-20 23:41:11,556 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:11,556 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 183 transitions. [2022-02-20 23:41:11,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:41:11,557 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:11,557 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:11,567 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (22)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:11,767 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:11,768 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr10REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:11,768 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:11,768 INFO L85 PathProgramCache]: Analyzing trace with hash 1546450642, now seen corresponding path program 1 times [2022-02-20 23:41:11,769 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:11,769 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1194855619] [2022-02-20 23:41:11,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:11,769 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:11,769 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:11,770 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:11,772 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (23)] Waiting until timeout for monitored process [2022-02-20 23:41:11,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:11,856 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:41:11,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:11,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:11,912 INFO L356 Elim1Store]: treesize reduction 27, result has 50.9 percent of original size [2022-02-20 23:41:11,913 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 12 treesize of output 33 [2022-02-20 23:41:11,989 INFO L290 TraceCheckUtils]: 0: Hoare triple {9639#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {9639#true} is VALID [2022-02-20 23:41:11,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {9639#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {9639#true} is VALID [2022-02-20 23:41:11,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {9639#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {9639#true} is VALID [2022-02-20 23:41:11,990 INFO L290 TraceCheckUtils]: 3: Hoare triple {9639#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {9639#true} is VALID [2022-02-20 23:41:11,992 INFO L290 TraceCheckUtils]: 4: Hoare triple {9639#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,992 INFO L290 TraceCheckUtils]: 5: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,993 INFO L290 TraceCheckUtils]: 6: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,993 INFO L290 TraceCheckUtils]: 7: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} havoc main_#t~nondet14#1; {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,994 INFO L290 TraceCheckUtils]: 10: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} main_~i~2#1 := 0bv32; {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,995 INFO L290 TraceCheckUtils]: 11: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,995 INFO L290 TraceCheckUtils]: 12: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} havoc main_#t~nondet16#1; {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,996 INFO L290 TraceCheckUtils]: 15: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,997 INFO L290 TraceCheckUtils]: 16: Hoare triple {9656#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_main_~D~0#1.base|)) (_ bv1 1)))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,997 INFO L290 TraceCheckUtils]: 17: Hoare triple {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,997 INFO L290 TraceCheckUtils]: 18: Hoare triple {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} assume !(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} assume 0bv32 == diff_~found~0#1; {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} SUMMARY for call diff_#t~mem5#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L530 {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:41:11,998 INFO L290 TraceCheckUtils]: 21: Hoare triple {9693#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_diff_~D#1.base|)) (_ bv1 1)))} assume !(1bv1 == #valid[diff_~D#1.base]); {9640#false} is VALID [2022-02-20 23:41:11,998 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:41:11,999 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:41:11,999 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:12,003 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1194855619] [2022-02-20 23:41:12,003 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1194855619] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:12,003 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:12,003 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:41:12,003 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [281053589] [2022-02-20 23:41:12,003 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:12,004 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.333333333333333) internal successors, (22), 4 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:41:12,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:12,004 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 7.333333333333333) internal successors, (22), 4 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,026 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:12,027 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:41:12,027 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:12,027 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:41:12,027 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:12,027 INFO L87 Difference]: Start difference. First operand 147 states and 183 transitions. Second operand has 4 states, 3 states have (on average 7.333333333333333) internal successors, (22), 4 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:12,229 INFO L93 Difference]: Finished difference Result 146 states and 181 transitions. [2022-02-20 23:41:12,229 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:41:12,230 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.333333333333333) internal successors, (22), 4 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:41:12,230 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:12,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.333333333333333) internal successors, (22), 4 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 42 transitions. [2022-02-20 23:41:12,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.333333333333333) internal successors, (22), 4 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 42 transitions. [2022-02-20 23:41:12,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 42 transitions. [2022-02-20 23:41:12,285 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:12,286 INFO L225 Difference]: With dead ends: 146 [2022-02-20 23:41:12,286 INFO L226 Difference]: Without dead ends: 146 [2022-02-20 23:41:12,287 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:12,287 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 35 mSDsluCounter, 19 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 51 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:12,287 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 51 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:12,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-02-20 23:41:12,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 146. [2022-02-20 23:41:12,290 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:12,290 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 146 states, 139 states have (on average 1.3021582733812949) internal successors, (181), 145 states have internal predecessors, (181), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,290 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 146 states, 139 states have (on average 1.3021582733812949) internal successors, (181), 145 states have internal predecessors, (181), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,291 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 146 states, 139 states have (on average 1.3021582733812949) internal successors, (181), 145 states have internal predecessors, (181), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:12,293 INFO L93 Difference]: Finished difference Result 146 states and 181 transitions. [2022-02-20 23:41:12,293 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 181 transitions. [2022-02-20 23:41:12,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:12,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:12,293 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 139 states have (on average 1.3021582733812949) internal successors, (181), 145 states have internal predecessors, (181), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 146 states. [2022-02-20 23:41:12,294 INFO L87 Difference]: Start difference. First operand has 146 states, 139 states have (on average 1.3021582733812949) internal successors, (181), 145 states have internal predecessors, (181), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 146 states. [2022-02-20 23:41:12,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:12,296 INFO L93 Difference]: Finished difference Result 146 states and 181 transitions. [2022-02-20 23:41:12,296 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 181 transitions. [2022-02-20 23:41:12,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:12,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:12,296 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:12,296 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:12,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 139 states have (on average 1.3021582733812949) internal successors, (181), 145 states have internal predecessors, (181), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 181 transitions. [2022-02-20 23:41:12,298 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 181 transitions. Word has length 22 [2022-02-20 23:41:12,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:12,299 INFO L470 AbstractCegarLoop]: Abstraction has 146 states and 181 transitions. [2022-02-20 23:41:12,299 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 7.333333333333333) internal successors, (22), 4 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,299 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 181 transitions. [2022-02-20 23:41:12,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:41:12,300 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:12,300 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:12,309 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (23)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:12,508 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:12,509 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:12,509 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:12,509 INFO L85 PathProgramCache]: Analyzing trace with hash 1546450643, now seen corresponding path program 1 times [2022-02-20 23:41:12,509 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:12,510 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1888026550] [2022-02-20 23:41:12,510 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:12,510 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:12,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:12,511 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:12,511 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (24)] Waiting until timeout for monitored process [2022-02-20 23:41:12,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:12,584 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:41:12,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:12,593 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:12,651 INFO L356 Elim1Store]: treesize reduction 33, result has 40.0 percent of original size [2022-02-20 23:41:12,651 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 12 treesize of output 27 [2022-02-20 23:41:12,795 INFO L290 TraceCheckUtils]: 0: Hoare triple {10294#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {10294#true} is VALID [2022-02-20 23:41:12,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {10294#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {10294#true} is VALID [2022-02-20 23:41:12,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {10294#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {10305#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:12,795 INFO L290 TraceCheckUtils]: 3: Hoare triple {10305#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {10305#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:12,797 INFO L290 TraceCheckUtils]: 4: Hoare triple {10305#(= |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,798 INFO L290 TraceCheckUtils]: 6: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} havoc main_#t~nondet14#1; {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,800 INFO L290 TraceCheckUtils]: 10: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} main_~i~2#1 := 0bv32; {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,801 INFO L290 TraceCheckUtils]: 12: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,803 INFO L290 TraceCheckUtils]: 13: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} havoc main_#t~nondet16#1; {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,804 INFO L290 TraceCheckUtils]: 14: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,804 INFO L290 TraceCheckUtils]: 15: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,805 INFO L290 TraceCheckUtils]: 16: Hoare triple {10312#(and (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (_ bv4 32)) (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,805 INFO L290 TraceCheckUtils]: 17: Hoare triple {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,806 INFO L290 TraceCheckUtils]: 18: Hoare triple {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} assume !(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,806 INFO L290 TraceCheckUtils]: 19: Hoare triple {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} assume 0bv32 == diff_~found~0#1; {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,807 INFO L290 TraceCheckUtils]: 20: Hoare triple {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} SUMMARY for call diff_#t~mem5#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L530 {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:12,807 INFO L290 TraceCheckUtils]: 21: Hoare triple {10349#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~D#1.offset, ~bvmul32(4bv32, diff_~k~0#1))), #length[diff_~D#1.base]) && ~bvule32(~bvadd32(diff_~D#1.offset, ~bvmul32(4bv32, diff_~k~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~D#1.offset, ~bvmul32(4bv32, diff_~k~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~D#1.offset, ~bvmul32(4bv32, diff_~k~0#1)))); {10295#false} is VALID [2022-02-20 23:41:12,807 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:41:12,808 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:41:12,808 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:12,808 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1888026550] [2022-02-20 23:41:12,808 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1888026550] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:12,808 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:12,808 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:12,808 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1931010623] [2022-02-20 23:41:12,808 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:12,808 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:41:12,808 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:12,809 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:12,834 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:12,834 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:12,834 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:12,834 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:12,834 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:12,834 INFO L87 Difference]: Start difference. First operand 146 states and 181 transitions. Second operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:13,485 INFO L93 Difference]: Finished difference Result 250 states and 315 transitions. [2022-02-20 23:41:13,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:41:13,485 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:41:13,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:13,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 97 transitions. [2022-02-20 23:41:13,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 97 transitions. [2022-02-20 23:41:13,487 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 97 transitions. [2022-02-20 23:41:13,601 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:13,604 INFO L225 Difference]: With dead ends: 250 [2022-02-20 23:41:13,604 INFO L226 Difference]: Without dead ends: 250 [2022-02-20 23:41:13,604 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:41:13,605 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 107 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 107 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:13,605 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [107 Valid, 121 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:41:13,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-02-20 23:41:13,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 202. [2022-02-20 23:41:13,612 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:13,613 INFO L82 GeneralOperation]: Start isEquivalent. First operand 250 states. Second operand has 202 states, 195 states have (on average 1.323076923076923) internal successors, (258), 201 states have internal predecessors, (258), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,613 INFO L74 IsIncluded]: Start isIncluded. First operand 250 states. Second operand has 202 states, 195 states have (on average 1.323076923076923) internal successors, (258), 201 states have internal predecessors, (258), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,613 INFO L87 Difference]: Start difference. First operand 250 states. Second operand has 202 states, 195 states have (on average 1.323076923076923) internal successors, (258), 201 states have internal predecessors, (258), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:13,617 INFO L93 Difference]: Finished difference Result 250 states and 315 transitions. [2022-02-20 23:41:13,617 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 315 transitions. [2022-02-20 23:41:13,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:13,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:13,618 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 195 states have (on average 1.323076923076923) internal successors, (258), 201 states have internal predecessors, (258), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 250 states. [2022-02-20 23:41:13,618 INFO L87 Difference]: Start difference. First operand has 202 states, 195 states have (on average 1.323076923076923) internal successors, (258), 201 states have internal predecessors, (258), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 250 states. [2022-02-20 23:41:13,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:13,622 INFO L93 Difference]: Finished difference Result 250 states and 315 transitions. [2022-02-20 23:41:13,622 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 315 transitions. [2022-02-20 23:41:13,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:13,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:13,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:13,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:13,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 195 states have (on average 1.323076923076923) internal successors, (258), 201 states have internal predecessors, (258), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 258 transitions. [2022-02-20 23:41:13,626 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 258 transitions. Word has length 22 [2022-02-20 23:41:13,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:13,627 INFO L470 AbstractCegarLoop]: Abstraction has 202 states and 258 transitions. [2022-02-20 23:41:13,627 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:13,627 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 258 transitions. [2022-02-20 23:41:13,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:41:13,627 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:13,628 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:13,636 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (24)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:13,835 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:13,835 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:13,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:13,836 INFO L85 PathProgramCache]: Analyzing trace with hash 728802193, now seen corresponding path program 1 times [2022-02-20 23:41:13,836 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:13,836 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [739520047] [2022-02-20 23:41:13,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:13,837 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:13,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:13,838 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:13,840 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (25)] Waiting until timeout for monitored process [2022-02-20 23:41:13,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:13,976 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:41:13,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:13,988 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:14,076 INFO L356 Elim1Store]: treesize reduction 37, result has 37.3 percent of original size [2022-02-20 23:41:14,077 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 14 treesize of output 29 [2022-02-20 23:41:14,407 INFO L290 TraceCheckUtils]: 0: Hoare triple {11320#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {11320#true} is VALID [2022-02-20 23:41:14,407 INFO L290 TraceCheckUtils]: 1: Hoare triple {11320#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {11320#true} is VALID [2022-02-20 23:41:14,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {11320#true} assume !(~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32)); {11331#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:14,408 INFO L290 TraceCheckUtils]: 3: Hoare triple {11331#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {11331#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:14,412 INFO L290 TraceCheckUtils]: 4: Hoare triple {11331#(and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,414 INFO L290 TraceCheckUtils]: 5: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,418 INFO L290 TraceCheckUtils]: 6: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} havoc main_#t~nondet14#1; {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,424 INFO L290 TraceCheckUtils]: 10: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} main_~i~2#1 := 0bv32; {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,429 INFO L290 TraceCheckUtils]: 12: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,430 INFO L290 TraceCheckUtils]: 13: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} havoc main_#t~nondet16#1; {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,433 INFO L290 TraceCheckUtils]: 15: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} is VALID [2022-02-20 23:41:14,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {11338#(and (= |ULTIMATE.start_main_~D~0#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))) (= (select |#length| |ULTIMATE.start_main_~D~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|)))))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:14,437 INFO L290 TraceCheckUtils]: 17: Hoare triple {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:14,438 INFO L290 TraceCheckUtils]: 18: Hoare triple {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} assume !(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:14,440 INFO L290 TraceCheckUtils]: 19: Hoare triple {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} assume 0bv32 == diff_~found~0#1; {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:14,443 INFO L290 TraceCheckUtils]: 20: Hoare triple {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} SUMMARY for call diff_#t~mem5#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L530 {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} is VALID [2022-02-20 23:41:14,445 INFO L290 TraceCheckUtils]: 21: Hoare triple {11375#(and (= |ULTIMATE.start_diff_~D#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~Alen~0#1| (_ BitVec 32))) (and (not (bvslt |ULTIMATE.start_main_~Alen~0#1| (_ bv1 32))) (= (bvmul (_ bv4 32) |ULTIMATE.start_main_~Alen~0#1|) (select |#length| |ULTIMATE.start_diff_~D#1.base|)) (not (bvuge |ULTIMATE.start_main_~Alen~0#1| (_ bv536870911 32))))) (= |ULTIMATE.start_diff_~k~0#1| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~D#1.offset, ~bvmul32(4bv32, diff_~k~0#1))), #length[diff_~D#1.base]) && ~bvule32(~bvadd32(diff_~D#1.offset, ~bvmul32(4bv32, diff_~k~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~D#1.offset, ~bvmul32(4bv32, diff_~k~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~D#1.offset, ~bvmul32(4bv32, diff_~k~0#1)))); {11321#false} is VALID [2022-02-20 23:41:14,445 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:41:14,445 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:41:14,445 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:14,445 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [739520047] [2022-02-20 23:41:14,445 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [739520047] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:14,445 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:14,446 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:14,446 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [926667143] [2022-02-20 23:41:14,446 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:14,446 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:41:14,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:14,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:14,491 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:14,491 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:14,491 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:14,491 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:14,491 INFO L87 Difference]: Start difference. First operand 202 states and 258 transitions. Second operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:14,672 INFO L93 Difference]: Finished difference Result 229 states and 298 transitions. [2022-02-20 23:41:14,672 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:41:14,672 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:41:14,673 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:14,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2022-02-20 23:41:14,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2022-02-20 23:41:14,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 57 transitions. [2022-02-20 23:41:14,763 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:14,766 INFO L225 Difference]: With dead ends: 229 [2022-02-20 23:41:14,766 INFO L226 Difference]: Without dead ends: 229 [2022-02-20 23:41:14,766 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:41:14,767 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 8 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 2 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 2 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 21 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:14,767 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 94 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 2 Invalid, 0 Unknown, 21 Unchecked, 0.0s Time] [2022-02-20 23:41:14,768 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2022-02-20 23:41:14,770 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 208. [2022-02-20 23:41:14,770 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:14,770 INFO L82 GeneralOperation]: Start isEquivalent. First operand 229 states. Second operand has 208 states, 201 states have (on average 1.3383084577114428) internal successors, (269), 207 states have internal predecessors, (269), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,771 INFO L74 IsIncluded]: Start isIncluded. First operand 229 states. Second operand has 208 states, 201 states have (on average 1.3383084577114428) internal successors, (269), 207 states have internal predecessors, (269), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,772 INFO L87 Difference]: Start difference. First operand 229 states. Second operand has 208 states, 201 states have (on average 1.3383084577114428) internal successors, (269), 207 states have internal predecessors, (269), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:14,775 INFO L93 Difference]: Finished difference Result 229 states and 298 transitions. [2022-02-20 23:41:14,775 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 298 transitions. [2022-02-20 23:41:14,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:14,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:14,776 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 201 states have (on average 1.3383084577114428) internal successors, (269), 207 states have internal predecessors, (269), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 229 states. [2022-02-20 23:41:14,776 INFO L87 Difference]: Start difference. First operand has 208 states, 201 states have (on average 1.3383084577114428) internal successors, (269), 207 states have internal predecessors, (269), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 229 states. [2022-02-20 23:41:14,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:14,780 INFO L93 Difference]: Finished difference Result 229 states and 298 transitions. [2022-02-20 23:41:14,780 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 298 transitions. [2022-02-20 23:41:14,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:14,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:14,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:14,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:14,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 201 states have (on average 1.3383084577114428) internal successors, (269), 207 states have internal predecessors, (269), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 269 transitions. [2022-02-20 23:41:14,784 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 269 transitions. Word has length 22 [2022-02-20 23:41:14,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:14,784 INFO L470 AbstractCegarLoop]: Abstraction has 208 states and 269 transitions. [2022-02-20 23:41:14,784 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:14,784 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 269 transitions. [2022-02-20 23:41:14,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:41:14,785 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:14,785 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:14,795 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (25)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:14,991 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:14,991 INFO L402 AbstractCegarLoop]: === Iteration 25 === Targeting ULTIMATE.startErr12ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:14,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:14,992 INFO L85 PathProgramCache]: Analyzing trace with hash 88962737, now seen corresponding path program 1 times [2022-02-20 23:41:14,992 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:14,992 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [793288268] [2022-02-20 23:41:14,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:14,993 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:14,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:14,994 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:14,996 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (26)] Waiting until timeout for monitored process [2022-02-20 23:41:15,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:15,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 2 conjunts are in the unsatisfiable core [2022-02-20 23:41:15,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:15,072 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:15,116 INFO L290 TraceCheckUtils]: 0: Hoare triple {12287#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {12287#true} is VALID [2022-02-20 23:41:15,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {12287#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {12287#true} is VALID [2022-02-20 23:41:15,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {12287#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {12287#true} is VALID [2022-02-20 23:41:15,116 INFO L290 TraceCheckUtils]: 3: Hoare triple {12287#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {12287#true} is VALID [2022-02-20 23:41:15,117 INFO L290 TraceCheckUtils]: 4: Hoare triple {12287#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {12287#true} is VALID [2022-02-20 23:41:15,117 INFO L290 TraceCheckUtils]: 5: Hoare triple {12287#true} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {12287#true} is VALID [2022-02-20 23:41:15,117 INFO L290 TraceCheckUtils]: 6: Hoare triple {12287#true} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {12287#true} is VALID [2022-02-20 23:41:15,117 INFO L290 TraceCheckUtils]: 7: Hoare triple {12287#true} havoc main_#t~nondet14#1; {12287#true} is VALID [2022-02-20 23:41:15,117 INFO L290 TraceCheckUtils]: 8: Hoare triple {12287#true} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {12287#true} is VALID [2022-02-20 23:41:15,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {12287#true} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {12287#true} is VALID [2022-02-20 23:41:15,119 INFO L290 TraceCheckUtils]: 10: Hoare triple {12287#true} main_~i~2#1 := 0bv32; {12287#true} is VALID [2022-02-20 23:41:15,120 INFO L290 TraceCheckUtils]: 11: Hoare triple {12287#true} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {12287#true} is VALID [2022-02-20 23:41:15,120 INFO L290 TraceCheckUtils]: 12: Hoare triple {12287#true} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {12287#true} is VALID [2022-02-20 23:41:15,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {12287#true} havoc main_#t~nondet16#1; {12287#true} is VALID [2022-02-20 23:41:15,120 INFO L290 TraceCheckUtils]: 14: Hoare triple {12287#true} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {12287#true} is VALID [2022-02-20 23:41:15,121 INFO L290 TraceCheckUtils]: 15: Hoare triple {12287#true} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {12287#true} is VALID [2022-02-20 23:41:15,121 INFO L290 TraceCheckUtils]: 16: Hoare triple {12287#true} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {12287#true} is VALID [2022-02-20 23:41:15,123 INFO L290 TraceCheckUtils]: 17: Hoare triple {12287#true} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {12343#(= |ULTIMATE.start_diff_~found~0#1| (_ bv0 32))} is VALID [2022-02-20 23:41:15,124 INFO L290 TraceCheckUtils]: 18: Hoare triple {12343#(= |ULTIMATE.start_diff_~found~0#1| (_ bv0 32))} assume !(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {12343#(= |ULTIMATE.start_diff_~found~0#1| (_ bv0 32))} is VALID [2022-02-20 23:41:15,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {12343#(= |ULTIMATE.start_diff_~found~0#1| (_ bv0 32))} assume !(0bv32 == diff_~found~0#1); {12288#false} is VALID [2022-02-20 23:41:15,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {12288#false} diff_#t~post7#1 := diff_~i~0#1;diff_~i~0#1 := ~bvadd32(1bv32, diff_#t~post7#1);havoc diff_#t~post7#1; {12288#false} is VALID [2022-02-20 23:41:15,124 INFO L290 TraceCheckUtils]: 21: Hoare triple {12288#false} assume !~bvslt32(diff_~i~0#1, diff_~l1~0#1); {12288#false} is VALID [2022-02-20 23:41:15,124 INFO L290 TraceCheckUtils]: 22: Hoare triple {12288#false} assume { :end_inline_diff } true;main_#res#1 := 0bv32;call ULTIMATE.dealloc(main_#t~malloc10#1.base, main_#t~malloc10#1.offset);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call ULTIMATE.dealloc(main_#t~malloc11#1.base, main_#t~malloc11#1.offset);havoc main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call ULTIMATE.dealloc(main_#t~malloc12#1.base, main_#t~malloc12#1.offset);havoc main_#t~malloc12#1.base, main_#t~malloc12#1.offset; {12288#false} is VALID [2022-02-20 23:41:15,124 INFO L290 TraceCheckUtils]: 23: Hoare triple {12288#false} assume !(#valid == main_old_#valid#1); {12288#false} is VALID [2022-02-20 23:41:15,124 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:41:15,125 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:41:15,125 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:15,125 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [793288268] [2022-02-20 23:41:15,125 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [793288268] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:15,125 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:15,125 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:41:15,125 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [770919402] [2022-02-20 23:41:15,125 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:15,125 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 24 [2022-02-20 23:41:15,125 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:15,125 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:15,147 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:41:15,147 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:15,147 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:41:15,147 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:41:15,147 INFO L87 Difference]: Start difference. First operand 208 states and 269 transitions. Second operand has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:15,261 INFO L93 Difference]: Finished difference Result 216 states and 273 transitions. [2022-02-20 23:41:15,261 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:41:15,261 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 24 [2022-02-20 23:41:15,261 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:15,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 50 transitions. [2022-02-20 23:41:15,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 50 transitions. [2022-02-20 23:41:15,262 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 50 transitions. [2022-02-20 23:41:15,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:15,313 INFO L225 Difference]: With dead ends: 216 [2022-02-20 23:41:15,313 INFO L226 Difference]: Without dead ends: 216 [2022-02-20 23:41:15,313 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:41:15,313 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 16 mSDsluCounter, 24 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:15,314 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 63 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:15,314 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-02-20 23:41:15,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 208. [2022-02-20 23:41:15,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:15,317 INFO L82 GeneralOperation]: Start isEquivalent. First operand 216 states. Second operand has 208 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 207 states have internal predecessors, (264), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,317 INFO L74 IsIncluded]: Start isIncluded. First operand 216 states. Second operand has 208 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 207 states have internal predecessors, (264), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,318 INFO L87 Difference]: Start difference. First operand 216 states. Second operand has 208 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 207 states have internal predecessors, (264), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:15,321 INFO L93 Difference]: Finished difference Result 216 states and 273 transitions. [2022-02-20 23:41:15,321 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 273 transitions. [2022-02-20 23:41:15,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:15,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:15,322 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 207 states have internal predecessors, (264), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 216 states. [2022-02-20 23:41:15,322 INFO L87 Difference]: Start difference. First operand has 208 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 207 states have internal predecessors, (264), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 216 states. [2022-02-20 23:41:15,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:15,325 INFO L93 Difference]: Finished difference Result 216 states and 273 transitions. [2022-02-20 23:41:15,325 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 273 transitions. [2022-02-20 23:41:15,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:15,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:15,326 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:15,326 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:15,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 201 states have (on average 1.3134328358208955) internal successors, (264), 207 states have internal predecessors, (264), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 264 transitions. [2022-02-20 23:41:15,329 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 264 transitions. Word has length 24 [2022-02-20 23:41:15,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:15,329 INFO L470 AbstractCegarLoop]: Abstraction has 208 states and 264 transitions. [2022-02-20 23:41:15,329 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,330 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 264 transitions. [2022-02-20 23:41:15,330 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:41:15,330 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:15,330 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:15,341 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (26)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:15,539 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:15,539 INFO L402 AbstractCegarLoop]: === Iteration 26 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:15,540 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:15,540 INFO L85 PathProgramCache]: Analyzing trace with hash -747793046, now seen corresponding path program 1 times [2022-02-20 23:41:15,540 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:15,540 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1551944222] [2022-02-20 23:41:15,540 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:15,540 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:15,540 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:15,541 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:15,542 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (27)] Waiting until timeout for monitored process [2022-02-20 23:41:15,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:15,619 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:41:15,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:15,626 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:15,723 INFO L290 TraceCheckUtils]: 0: Hoare triple {13217#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {13217#true} is VALID [2022-02-20 23:41:15,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {13217#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {13217#true} is VALID [2022-02-20 23:41:15,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {13217#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {13217#true} is VALID [2022-02-20 23:41:15,724 INFO L290 TraceCheckUtils]: 3: Hoare triple {13217#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,724 INFO L290 TraceCheckUtils]: 4: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,724 INFO L290 TraceCheckUtils]: 5: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,725 INFO L290 TraceCheckUtils]: 6: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} havoc main_#t~nondet14#1; {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,726 INFO L290 TraceCheckUtils]: 8: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,726 INFO L290 TraceCheckUtils]: 9: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,726 INFO L290 TraceCheckUtils]: 10: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} main_~i~2#1 := 0bv32; {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} havoc main_#t~nondet16#1; {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,728 INFO L290 TraceCheckUtils]: 15: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} is VALID [2022-02-20 23:41:15,729 INFO L290 TraceCheckUtils]: 16: Hoare triple {13231#(= |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {13271#(= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)} is VALID [2022-02-20 23:41:15,730 INFO L290 TraceCheckUtils]: 17: Hoare triple {13271#(= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {13275#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,730 INFO L290 TraceCheckUtils]: 18: Hoare triple {13275#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {13275#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,731 INFO L290 TraceCheckUtils]: 19: Hoare triple {13275#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {13275#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,732 INFO L290 TraceCheckUtils]: 20: Hoare triple {13275#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} SUMMARY for call diff_#t~mem3#1 := read~intINTTYPE4(diff_~B#1.base, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), 4bv32); srcloc: L523-1 {13275#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,732 INFO L290 TraceCheckUtils]: 21: Hoare triple {13275#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} assume !(diff_#t~mem2#1 == diff_#t~mem3#1);havoc diff_#t~mem2#1;havoc diff_#t~mem3#1;diff_#t~post4#1 := diff_~j~0#1;diff_~j~0#1 := ~bvadd32(1bv32, diff_#t~post4#1);havoc diff_#t~post4#1; {13288#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,733 INFO L290 TraceCheckUtils]: 22: Hoare triple {13288#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) (= (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {13218#false} is VALID [2022-02-20 23:41:15,734 INFO L290 TraceCheckUtils]: 23: Hoare triple {13218#false} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {13218#false} is VALID [2022-02-20 23:41:15,734 INFO L290 TraceCheckUtils]: 24: Hoare triple {13218#false} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))), #length[diff_~B#1.base]) && ~bvule32(~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)))); {13218#false} is VALID [2022-02-20 23:41:15,734 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:41:15,734 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:15,846 INFO L290 TraceCheckUtils]: 24: Hoare triple {13218#false} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))), #length[diff_~B#1.base]) && ~bvule32(~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)))); {13218#false} is VALID [2022-02-20 23:41:15,847 INFO L290 TraceCheckUtils]: 23: Hoare triple {13218#false} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {13218#false} is VALID [2022-02-20 23:41:15,847 INFO L290 TraceCheckUtils]: 22: Hoare triple {13304#(not (bvslt |ULTIMATE.start_diff_~j~0#1| |ULTIMATE.start_diff_~l2~0#1|))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {13218#false} is VALID [2022-02-20 23:41:15,847 INFO L290 TraceCheckUtils]: 21: Hoare triple {13308#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} assume !(diff_#t~mem2#1 == diff_#t~mem3#1);havoc diff_#t~mem2#1;havoc diff_#t~mem3#1;diff_#t~post4#1 := diff_~j~0#1;diff_~j~0#1 := ~bvadd32(1bv32, diff_#t~post4#1);havoc diff_#t~post4#1; {13304#(not (bvslt |ULTIMATE.start_diff_~j~0#1| |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {13308#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} SUMMARY for call diff_#t~mem3#1 := read~intINTTYPE4(diff_~B#1.base, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), 4bv32); srcloc: L523-1 {13308#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {13308#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {13308#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,849 INFO L290 TraceCheckUtils]: 18: Hoare triple {13308#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {13308#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,849 INFO L290 TraceCheckUtils]: 17: Hoare triple {13321#(not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {13308#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,850 INFO L290 TraceCheckUtils]: 16: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {13321#(not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:15,850 INFO L290 TraceCheckUtils]: 15: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,850 INFO L290 TraceCheckUtils]: 14: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} havoc main_#t~nondet16#1; {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,851 INFO L290 TraceCheckUtils]: 12: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,851 INFO L290 TraceCheckUtils]: 10: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} main_~i~2#1 := 0bv32; {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,852 INFO L290 TraceCheckUtils]: 9: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,852 INFO L290 TraceCheckUtils]: 8: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,852 INFO L290 TraceCheckUtils]: 7: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} havoc main_#t~nondet14#1; {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,853 INFO L290 TraceCheckUtils]: 6: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,853 INFO L290 TraceCheckUtils]: 5: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,853 INFO L290 TraceCheckUtils]: 4: Hoare triple {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,853 INFO L290 TraceCheckUtils]: 3: Hoare triple {13217#true} assume ~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32);main_~Blen~0#1 := 1bv32; {13325#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:15,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {13217#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {13217#true} is VALID [2022-02-20 23:41:15,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {13217#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {13217#true} is VALID [2022-02-20 23:41:15,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {13217#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {13217#true} is VALID [2022-02-20 23:41:15,854 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:41:15,854 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:15,854 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1551944222] [2022-02-20 23:41:15,854 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1551944222] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:15,854 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:41:15,854 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-02-20 23:41:15,854 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1110892950] [2022-02-20 23:41:15,854 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:15,855 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.5) internal successors, (45), 10 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 25 [2022-02-20 23:41:15,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:15,855 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.5) internal successors, (45), 10 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:15,906 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:15,906 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:41:15,906 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:15,906 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:41:15,907 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:41:15,907 INFO L87 Difference]: Start difference. First operand 208 states and 264 transitions. Second operand has 10 states, 10 states have (on average 4.5) internal successors, (45), 10 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:16,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:16,617 INFO L93 Difference]: Finished difference Result 221 states and 269 transitions. [2022-02-20 23:41:16,617 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:41:16,618 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.5) internal successors, (45), 10 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 25 [2022-02-20 23:41:16,618 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:16,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.5) internal successors, (45), 10 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:16,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 86 transitions. [2022-02-20 23:41:16,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.5) internal successors, (45), 10 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:16,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 86 transitions. [2022-02-20 23:41:16,619 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 86 transitions. [2022-02-20 23:41:16,749 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:16,752 INFO L225 Difference]: With dead ends: 221 [2022-02-20 23:41:16,753 INFO L226 Difference]: Without dead ends: 221 [2022-02-20 23:41:16,753 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 40 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=105, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:41:16,753 INFO L933 BasicCegarLoop]: 54 mSDtfsCounter, 115 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 115 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 65 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 60 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:16,753 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [115 Valid, 243 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:16,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 221 states. [2022-02-20 23:41:16,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 221 to 204. [2022-02-20 23:41:16,759 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:16,759 INFO L82 GeneralOperation]: Start isEquivalent. First operand 221 states. Second operand has 204 states, 197 states have (on average 1.299492385786802) internal successors, (256), 203 states have internal predecessors, (256), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:16,759 INFO L74 IsIncluded]: Start isIncluded. First operand 221 states. Second operand has 204 states, 197 states have (on average 1.299492385786802) internal successors, (256), 203 states have internal predecessors, (256), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:16,760 INFO L87 Difference]: Start difference. First operand 221 states. Second operand has 204 states, 197 states have (on average 1.299492385786802) internal successors, (256), 203 states have internal predecessors, (256), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:16,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:16,763 INFO L93 Difference]: Finished difference Result 221 states and 269 transitions. [2022-02-20 23:41:16,763 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 269 transitions. [2022-02-20 23:41:16,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:16,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:16,764 INFO L74 IsIncluded]: Start isIncluded. First operand has 204 states, 197 states have (on average 1.299492385786802) internal successors, (256), 203 states have internal predecessors, (256), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 221 states. [2022-02-20 23:41:16,764 INFO L87 Difference]: Start difference. First operand has 204 states, 197 states have (on average 1.299492385786802) internal successors, (256), 203 states have internal predecessors, (256), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 221 states. [2022-02-20 23:41:16,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:16,768 INFO L93 Difference]: Finished difference Result 221 states and 269 transitions. [2022-02-20 23:41:16,768 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 269 transitions. [2022-02-20 23:41:16,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:16,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:16,768 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:16,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:16,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 204 states, 197 states have (on average 1.299492385786802) internal successors, (256), 203 states have internal predecessors, (256), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:16,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 204 states to 204 states and 256 transitions. [2022-02-20 23:41:16,772 INFO L78 Accepts]: Start accepts. Automaton has 204 states and 256 transitions. Word has length 25 [2022-02-20 23:41:16,772 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:16,772 INFO L470 AbstractCegarLoop]: Abstraction has 204 states and 256 transitions. [2022-02-20 23:41:16,772 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.5) internal successors, (45), 10 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:16,772 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 256 transitions. [2022-02-20 23:41:16,773 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:41:16,773 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:16,773 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:16,785 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (27)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:16,979 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:16,979 INFO L402 AbstractCegarLoop]: === Iteration 27 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:16,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:16,980 INFO L85 PathProgramCache]: Analyzing trace with hash -528938328, now seen corresponding path program 1 times [2022-02-20 23:41:16,980 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:16,980 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1129145112] [2022-02-20 23:41:16,980 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:16,980 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:16,980 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:16,981 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:16,984 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (28)] Waiting until timeout for monitored process [2022-02-20 23:41:17,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:17,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:41:17,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:17,080 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:17,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {14246#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {14246#true} is VALID [2022-02-20 23:41:17,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {14246#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {14246#true} is VALID [2022-02-20 23:41:17,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {14246#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {14246#true} is VALID [2022-02-20 23:41:17,283 INFO L290 TraceCheckUtils]: 3: Hoare triple {14246#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,283 INFO L290 TraceCheckUtils]: 4: Hoare triple {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,284 INFO L290 TraceCheckUtils]: 6: Hoare triple {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,285 INFO L290 TraceCheckUtils]: 7: Hoare triple {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} havoc main_#t~nondet14#1; {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,285 INFO L290 TraceCheckUtils]: 9: Hoare triple {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,286 INFO L290 TraceCheckUtils]: 10: Hoare triple {14260#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_~i~2#1 := 0bv32; {14282#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {14282#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {14282#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,287 INFO L290 TraceCheckUtils]: 12: Hoare triple {14282#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {14282#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,287 INFO L290 TraceCheckUtils]: 13: Hoare triple {14282#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} havoc main_#t~nondet16#1; {14282#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:17,288 INFO L290 TraceCheckUtils]: 14: Hoare triple {14282#(and (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {14295#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~2#1| (_ bv1 32)))} is VALID [2022-02-20 23:41:17,288 INFO L290 TraceCheckUtils]: 15: Hoare triple {14295#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))) (= |ULTIMATE.start_main_~i~2#1| (_ bv1 32)))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {14299#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:17,289 INFO L290 TraceCheckUtils]: 16: Hoare triple {14299#(and (not (bvslt |ULTIMATE.start_main_~Blen~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {14303#(and (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} is VALID [2022-02-20 23:41:17,289 INFO L290 TraceCheckUtils]: 17: Hoare triple {14303#(and (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {14307#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} is VALID [2022-02-20 23:41:17,289 INFO L290 TraceCheckUtils]: 18: Hoare triple {14307#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {14307#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} is VALID [2022-02-20 23:41:17,290 INFO L290 TraceCheckUtils]: 19: Hoare triple {14307#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {14307#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} is VALID [2022-02-20 23:41:17,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {14307#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} SUMMARY for call diff_#t~mem3#1 := read~intINTTYPE4(diff_~B#1.base, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), 4bv32); srcloc: L523-1 {14307#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} is VALID [2022-02-20 23:41:17,291 INFO L290 TraceCheckUtils]: 21: Hoare triple {14307#(and (= |ULTIMATE.start_diff_~j~0#1| (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} assume !(diff_#t~mem2#1 == diff_#t~mem3#1);havoc diff_#t~mem2#1;havoc diff_#t~mem3#1;diff_#t~post4#1 := diff_~j~0#1;diff_~j~0#1 := ~bvadd32(1bv32, diff_#t~post4#1);havoc diff_#t~post4#1; {14320#(and (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} is VALID [2022-02-20 23:41:17,291 INFO L290 TraceCheckUtils]: 22: Hoare triple {14320#(and (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_diff_~j~0#1|) (_ bv0 32)) (not (bvslt |ULTIMATE.start_diff_~l2~0#1| (_ bv1 32))) (not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|)))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {14247#false} is VALID [2022-02-20 23:41:17,291 INFO L290 TraceCheckUtils]: 23: Hoare triple {14247#false} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {14247#false} is VALID [2022-02-20 23:41:17,291 INFO L290 TraceCheckUtils]: 24: Hoare triple {14247#false} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))), #length[diff_~B#1.base]) && ~bvule32(~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)))); {14247#false} is VALID [2022-02-20 23:41:17,292 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:17,292 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:17,447 INFO L290 TraceCheckUtils]: 24: Hoare triple {14247#false} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))), #length[diff_~B#1.base]) && ~bvule32(~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), ~bvadd32(4bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1))))) && ~bvule32(0bv32, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)))); {14247#false} is VALID [2022-02-20 23:41:17,447 INFO L290 TraceCheckUtils]: 23: Hoare triple {14247#false} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {14247#false} is VALID [2022-02-20 23:41:17,448 INFO L290 TraceCheckUtils]: 22: Hoare triple {14336#(not (bvslt |ULTIMATE.start_diff_~j~0#1| |ULTIMATE.start_diff_~l2~0#1|))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {14247#false} is VALID [2022-02-20 23:41:17,448 INFO L290 TraceCheckUtils]: 21: Hoare triple {14340#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} assume !(diff_#t~mem2#1 == diff_#t~mem3#1);havoc diff_#t~mem2#1;havoc diff_#t~mem3#1;diff_#t~post4#1 := diff_~j~0#1;diff_~j~0#1 := ~bvadd32(1bv32, diff_#t~post4#1);havoc diff_#t~post4#1; {14336#(not (bvslt |ULTIMATE.start_diff_~j~0#1| |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:17,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {14340#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} SUMMARY for call diff_#t~mem3#1 := read~intINTTYPE4(diff_~B#1.base, ~bvadd32(diff_~B#1.offset, ~bvmul32(4bv32, diff_~j~0#1)), 4bv32); srcloc: L523-1 {14340#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:17,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {14340#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} SUMMARY for call diff_#t~mem2#1 := read~intINTTYPE4(diff_~A#1.base, ~bvadd32(diff_~A#1.offset, ~bvmul32(4bv32, diff_~i~0#1)), 4bv32); srcloc: L523 {14340#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:17,450 INFO L290 TraceCheckUtils]: 18: Hoare triple {14340#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} assume !!(~bvslt32(diff_~j~0#1, diff_~l2~0#1) && 0bv32 == diff_~found~0#1); {14340#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:17,450 INFO L290 TraceCheckUtils]: 17: Hoare triple {14353#(not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} assume !!~bvslt32(diff_~i~0#1, diff_~l1~0#1);diff_~j~0#1 := 0bv32;diff_~found~0#1 := 0bv32; {14340#(not (bvslt (bvadd |ULTIMATE.start_diff_~j~0#1| (_ bv1 32)) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:17,450 INFO L290 TraceCheckUtils]: 16: Hoare triple {14357#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} assume { :begin_inline_diff } true;diff_#in~A#1.base, diff_#in~A#1.offset, diff_#in~Alen#1, diff_#in~B#1.base, diff_#in~B#1.offset, diff_#in~Blen#1, diff_#in~D#1.base, diff_#in~D#1.offset := main_~A~0#1.base, main_~A~0#1.offset, main_~Alen~0#1, main_~B~0#1.base, main_~B~0#1.offset, main_~Blen~0#1, main_~D~0#1.base, main_~D~0#1.offset;havoc diff_#t~mem2#1, diff_#t~mem3#1, diff_#t~post4#1, diff_#t~mem5#1, diff_#t~post6#1, diff_#t~post7#1, diff_~j~0#1, diff_~A#1.base, diff_~A#1.offset, diff_~Alen#1, diff_~B#1.base, diff_~B#1.offset, diff_~Blen#1, diff_~D#1.base, diff_~D#1.offset, diff_~k~0#1, diff_~i~0#1, diff_~l1~0#1, diff_~l2~0#1, diff_~found~0#1;diff_~A#1.base, diff_~A#1.offset := diff_#in~A#1.base, diff_#in~A#1.offset;diff_~Alen#1 := diff_#in~Alen#1;diff_~B#1.base, diff_~B#1.offset := diff_#in~B#1.base, diff_#in~B#1.offset;diff_~Blen#1 := diff_#in~Blen#1;diff_~D#1.base, diff_~D#1.offset := diff_#in~D#1.base, diff_#in~D#1.offset;diff_~k~0#1 := 0bv32;diff_~i~0#1 := 0bv32;diff_~l1~0#1 := diff_~Alen#1;diff_~l2~0#1 := diff_~Blen#1;havoc diff_~found~0#1; {14353#(not (bvslt (_ bv1 32) |ULTIMATE.start_diff_~l2~0#1|))} is VALID [2022-02-20 23:41:17,451 INFO L290 TraceCheckUtils]: 15: Hoare triple {14361#(or (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} assume !~bvslt32(main_~i~2#1, main_~Blen~0#1); {14357#(not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|))} is VALID [2022-02-20 23:41:17,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {14365#(or (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {14361#(or (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:17,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {14365#(or (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} havoc main_#t~nondet16#1; {14365#(or (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:17,452 INFO L290 TraceCheckUtils]: 12: Hoare triple {14365#(or (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {14365#(or (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:17,453 INFO L290 TraceCheckUtils]: 11: Hoare triple {14365#(or (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {14365#(or (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:17,453 INFO L290 TraceCheckUtils]: 10: Hoare triple {14246#true} main_~i~2#1 := 0bv32; {14365#(or (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|) (not (bvslt (_ bv1 32) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:17,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {14246#true} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {14246#true} is VALID [2022-02-20 23:41:17,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {14246#true} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {14246#true} is VALID [2022-02-20 23:41:17,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {14246#true} havoc main_#t~nondet14#1; {14246#true} is VALID [2022-02-20 23:41:17,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {14246#true} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {14246#true} is VALID [2022-02-20 23:41:17,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {14246#true} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {14246#true} is VALID [2022-02-20 23:41:17,453 INFO L290 TraceCheckUtils]: 4: Hoare triple {14246#true} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {14246#true} is VALID [2022-02-20 23:41:17,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {14246#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {14246#true} is VALID [2022-02-20 23:41:17,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {14246#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {14246#true} is VALID [2022-02-20 23:41:17,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {14246#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {14246#true} is VALID [2022-02-20 23:41:17,454 INFO L290 TraceCheckUtils]: 0: Hoare triple {14246#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {14246#true} is VALID [2022-02-20 23:41:17,454 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:17,454 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:17,454 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1129145112] [2022-02-20 23:41:17,454 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1129145112] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:17,454 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:41:17,454 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 15 [2022-02-20 23:41:17,454 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1498001223] [2022-02-20 23:41:17,454 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:17,455 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.0) internal successors, (45), 15 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 25 [2022-02-20 23:41:17,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:17,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 3.0) internal successors, (45), 15 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:17,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:17,510 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 23:41:17,511 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:17,513 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 23:41:17,513 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:41:17,514 INFO L87 Difference]: Start difference. First operand 204 states and 256 transitions. Second operand has 15 states, 15 states have (on average 3.0) internal successors, (45), 15 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:18,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:18,811 INFO L93 Difference]: Finished difference Result 267 states and 333 transitions. [2022-02-20 23:41:18,811 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:41:18,811 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.0) internal successors, (45), 15 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 25 [2022-02-20 23:41:18,811 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:18,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.0) internal successors, (45), 15 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:18,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 96 transitions. [2022-02-20 23:41:18,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.0) internal successors, (45), 15 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:18,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 96 transitions. [2022-02-20 23:41:18,812 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 96 transitions. [2022-02-20 23:41:18,934 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:18,937 INFO L225 Difference]: With dead ends: 267 [2022-02-20 23:41:18,937 INFO L226 Difference]: Without dead ends: 267 [2022-02-20 23:41:18,937 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=114, Invalid=306, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:41:18,937 INFO L933 BasicCegarLoop]: 42 mSDtfsCounter, 298 mSDsluCounter, 239 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 298 SdHoareTripleChecker+Valid, 281 SdHoareTripleChecker+Invalid, 146 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:18,938 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [298 Valid, 281 Invalid, 146 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 125 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:41:18,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 267 states. [2022-02-20 23:41:18,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 267 to 241. [2022-02-20 23:41:18,941 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:18,941 INFO L82 GeneralOperation]: Start isEquivalent. First operand 267 states. Second operand has 241 states, 234 states have (on average 1.3247863247863247) internal successors, (310), 240 states have internal predecessors, (310), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:18,942 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand has 241 states, 234 states have (on average 1.3247863247863247) internal successors, (310), 240 states have internal predecessors, (310), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:18,942 INFO L87 Difference]: Start difference. First operand 267 states. Second operand has 241 states, 234 states have (on average 1.3247863247863247) internal successors, (310), 240 states have internal predecessors, (310), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:18,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:18,946 INFO L93 Difference]: Finished difference Result 267 states and 333 transitions. [2022-02-20 23:41:18,946 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 333 transitions. [2022-02-20 23:41:18,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:18,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:18,947 INFO L74 IsIncluded]: Start isIncluded. First operand has 241 states, 234 states have (on average 1.3247863247863247) internal successors, (310), 240 states have internal predecessors, (310), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 267 states. [2022-02-20 23:41:18,948 INFO L87 Difference]: Start difference. First operand has 241 states, 234 states have (on average 1.3247863247863247) internal successors, (310), 240 states have internal predecessors, (310), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 267 states. [2022-02-20 23:41:18,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:18,952 INFO L93 Difference]: Finished difference Result 267 states and 333 transitions. [2022-02-20 23:41:18,952 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 333 transitions. [2022-02-20 23:41:18,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:18,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:18,953 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:18,953 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:18,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 241 states, 234 states have (on average 1.3247863247863247) internal successors, (310), 240 states have internal predecessors, (310), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:18,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 241 states to 241 states and 310 transitions. [2022-02-20 23:41:18,957 INFO L78 Accepts]: Start accepts. Automaton has 241 states and 310 transitions. Word has length 25 [2022-02-20 23:41:18,957 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:18,957 INFO L470 AbstractCegarLoop]: Abstraction has 241 states and 310 transitions. [2022-02-20 23:41:18,957 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 3.0) internal successors, (45), 15 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:18,957 INFO L276 IsEmpty]: Start isEmpty. Operand 241 states and 310 transitions. [2022-02-20 23:41:18,958 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:41:18,958 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:18,958 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:18,967 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (28)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:19,166 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:41:19,167 INFO L402 AbstractCegarLoop]: === Iteration 28 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:19,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:19,167 INFO L85 PathProgramCache]: Analyzing trace with hash -1117279393, now seen corresponding path program 2 times [2022-02-20 23:41:19,167 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:41:19,167 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1993428244] [2022-02-20 23:41:19,168 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:41:19,168 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:41:19,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:41:19,169 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:41:19,170 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (29)] Waiting until timeout for monitored process [2022-02-20 23:41:19,244 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:41:19,244 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:41:19,247 INFO L263 TraceCheckSpWp]: Trace formula consists of 98 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 23:41:19,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:19,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:19,285 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:41:19,305 INFO L356 Elim1Store]: treesize reduction 26, result has 31.6 percent of original size [2022-02-20 23:41:19,305 INFO L390 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 14 treesize of output 25 [2022-02-20 23:41:19,314 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 26 [2022-02-20 23:41:19,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {15461#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {15461#true} is VALID [2022-02-20 23:41:19,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {15461#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {15461#true} is VALID [2022-02-20 23:41:19,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {15461#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {15461#true} is VALID [2022-02-20 23:41:19,795 INFO L290 TraceCheckUtils]: 3: Hoare triple {15461#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {15475#(not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32)))} is VALID [2022-02-20 23:41:19,797 INFO L290 TraceCheckUtils]: 4: Hoare triple {15475#(not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32)))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,798 INFO L290 TraceCheckUtils]: 6: Hoare triple {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} havoc main_#t~nondet14#1; {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,800 INFO L290 TraceCheckUtils]: 10: Hoare triple {15479#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_~i~2#1 := 0bv32; {15498#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {15498#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {15498#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,801 INFO L290 TraceCheckUtils]: 12: Hoare triple {15498#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {15498#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {15498#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} havoc main_#t~nondet16#1; {15498#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,802 INFO L290 TraceCheckUtils]: 14: Hoare triple {15498#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {15511#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,802 INFO L290 TraceCheckUtils]: 15: Hoare triple {15511#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {15511#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,803 INFO L290 TraceCheckUtils]: 16: Hoare triple {15511#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {15518#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,803 INFO L290 TraceCheckUtils]: 17: Hoare triple {15518#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} havoc main_#t~nondet16#1; {15518#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,804 INFO L290 TraceCheckUtils]: 18: Hoare triple {15518#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv0 32)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {15525#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,804 INFO L290 TraceCheckUtils]: 19: Hoare triple {15525#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {15525#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,805 INFO L290 TraceCheckUtils]: 20: Hoare triple {15525#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {15525#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,805 INFO L290 TraceCheckUtils]: 21: Hoare triple {15525#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} havoc main_#t~nondet16#1; {15525#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} is VALID [2022-02-20 23:41:19,806 INFO L290 TraceCheckUtils]: 22: Hoare triple {15525#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (= |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {15538#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv2 32)))} is VALID [2022-02-20 23:41:19,807 INFO L290 TraceCheckUtils]: 23: Hoare triple {15538#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))) (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_main_~i~2#1|) (_ bv2 32)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {15542#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} is VALID [2022-02-20 23:41:19,812 INFO L290 TraceCheckUtils]: 24: Hoare triple {15542#(and (= |ULTIMATE.start_main_~B~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) (exists ((|ULTIMATE.start_main_~Blen~0#1| (_ BitVec 32))) (and (= (select |#length| |ULTIMATE.start_main_~B~0#1.base|) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|) (not (bvuge |ULTIMATE.start_main_~Blen~0#1| (_ bv536870911 32))))))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))), #length[main_~B~0#1.base]) && ~bvule32(~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), ~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))))) && ~bvule32(0bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)))); {15462#false} is VALID [2022-02-20 23:41:19,815 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:19,815 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:21,018 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:41:21,113 INFO L290 TraceCheckUtils]: 24: Hoare triple {15546#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|))))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))), #length[main_~B~0#1.base]) && ~bvule32(~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), ~bvadd32(4bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1))))) && ~bvule32(0bv32, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)))); {15462#false} is VALID [2022-02-20 23:41:21,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {15550#(or (not (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {15546#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|))))} is VALID [2022-02-20 23:41:21,573 INFO L290 TraceCheckUtils]: 22: Hoare triple {15554#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {15550#(or (not (bvslt |ULTIMATE.start_main_~i~2#1| |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:41:21,575 INFO L290 TraceCheckUtils]: 21: Hoare triple {15554#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} havoc main_#t~nondet16#1; {15554#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:41:21,578 INFO L290 TraceCheckUtils]: 20: Hoare triple {15554#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {15554#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:41:21,579 INFO L290 TraceCheckUtils]: 19: Hoare triple {15554#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {15554#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:41:22,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {15567#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32))) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) |ULTIMATE.start_main_~Blen~0#1|)))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {15554#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv1 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))))} is VALID [2022-02-20 23:41:22,134 INFO L290 TraceCheckUtils]: 17: Hoare triple {15567#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32))) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) |ULTIMATE.start_main_~Blen~0#1|)))} havoc main_#t~nondet16#1; {15567#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32))) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:22,138 INFO L290 TraceCheckUtils]: 16: Hoare triple {15574#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32))) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) |ULTIMATE.start_main_~Blen~0#1|)))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {15567#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32))) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:22,140 INFO L290 TraceCheckUtils]: 15: Hoare triple {15574#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32))) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) |ULTIMATE.start_main_~Blen~0#1|)))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {15574#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32))) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:24,137 INFO L290 TraceCheckUtils]: 14: Hoare triple {15581#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} main_#t~post15#1 := main_~i~2#1;main_~i~2#1 := ~bvadd32(1bv32, main_#t~post15#1);havoc main_#t~post15#1; {15574#(or (and (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32))) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))) (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv2 32)) |ULTIMATE.start_main_~Blen~0#1|)))} is VALID [2022-02-20 23:41:24,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {15581#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} havoc main_#t~nondet16#1; {15581#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,143 INFO L290 TraceCheckUtils]: 12: Hoare triple {15581#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet16#1, main_~B~0#1.base, ~bvadd32(main_~B~0#1.offset, ~bvmul32(4bv32, main_~i~2#1)), 4bv32); srcloc: L556 {15581#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,145 INFO L290 TraceCheckUtils]: 11: Hoare triple {15581#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} assume !!~bvslt32(main_~i~2#1, main_~Blen~0#1); {15581#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,146 INFO L290 TraceCheckUtils]: 10: Hoare triple {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} main_~i~2#1 := 0bv32; {15581#(or (not (bvslt (bvadd |ULTIMATE.start_main_~i~2#1| (_ bv3 32)) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|) (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset| (bvmul (_ bv4 32) |ULTIMATE.start_main_~i~2#1|)) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} assume !~bvslt32(main_~i~1#1, main_~Alen~0#1); {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,149 INFO L290 TraceCheckUtils]: 8: Hoare triple {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} main_#t~post13#1 := main_~i~1#1;main_~i~1#1 := ~bvadd32(1bv32, main_#t~post13#1);havoc main_#t~post13#1; {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} havoc main_#t~nondet14#1; {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,153 INFO L290 TraceCheckUtils]: 6: Hoare triple {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} SUMMARY for call write~intINTTYPE4(main_#t~nondet14#1, main_~A~0#1.base, ~bvadd32(main_~A~0#1.offset, ~bvmul32(4bv32, main_~i~1#1)), 4bv32); srcloc: L551 {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} assume !!~bvslt32(main_~i~1#1, main_~Alen~0#1); {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,157 INFO L290 TraceCheckUtils]: 4: Hoare triple {15613#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvule (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|))))} call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~A~0#1.base, main_~A~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Blen~0#1));main_~B~0#1.base, main_~B~0#1.offset := main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnStack(~bvmul32(4bv32, main_~Alen~0#1));main_~D~0#1.base, main_~D~0#1.offset := main_#t~malloc12#1.base, main_#t~malloc12#1.offset;main_~i~1#1 := 0bv32; {15594#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (and (bvule (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|)) (bvule (bvadd |ULTIMATE.start_main_~B~0#1.offset| (_ bv12 32)) (bvadd (_ bv16 32) |ULTIMATE.start_main_~B~0#1.offset|))) (not (bvule (bvadd (_ bv8 32) |ULTIMATE.start_main_~B~0#1.offset|) (select |#length| |ULTIMATE.start_main_~B~0#1.base|))))} is VALID [2022-02-20 23:41:24,158 INFO L290 TraceCheckUtils]: 3: Hoare triple {15461#true} assume !(~bvslt32(main_~Blen~0#1, 1bv32) || ~bvuge32(main_~Blen~0#1, 536870911bv32)); {15613#(or (not (bvslt (_ bv3 32) |ULTIMATE.start_main_~Blen~0#1|)) (bvule (_ bv16 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|)) (not (bvule (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_main_~Blen~0#1|))))} is VALID [2022-02-20 23:41:24,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {15461#true} assume ~bvslt32(main_~Alen~0#1, 1bv32) || ~bvuge32(main_~Alen~0#1, 536870911bv32);main_~Alen~0#1 := 1bv32; {15461#true} is VALID [2022-02-20 23:41:24,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {15461#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet8#1, main_#t~nondet9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~nondet14#1, main_#t~post13#1, main_~i~1#1, main_#t~nondet16#1, main_#t~post15#1, main_~i~2#1, main_~Alen~0#1, main_~Blen~0#1, main_~A~0#1.base, main_~A~0#1.offset, main_~B~0#1.base, main_~B~0#1.offset, main_~D~0#1.base, main_~D~0#1.offset;main_~Alen~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1;main_~Blen~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {15461#true} is VALID [2022-02-20 23:41:24,158 INFO L290 TraceCheckUtils]: 0: Hoare triple {15461#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {15461#true} is VALID [2022-02-20 23:41:24,159 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:41:24,159 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:41:24,159 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1993428244] [2022-02-20 23:41:24,159 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1993428244] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:24,159 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:41:24,159 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 17 [2022-02-20 23:41:24,159 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1013801921] [2022-02-20 23:41:24,159 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:24,160 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.764705882352941) internal successors, (47), 18 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 25 [2022-02-20 23:41:24,160 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:24,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 2.764705882352941) internal successors, (47), 18 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:27,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:27,206 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-20 23:41:27,206 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:41:27,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-20 23:41:27,206 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=217, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:41:27,206 INFO L87 Difference]: Start difference. First operand 241 states and 310 transitions. Second operand has 18 states, 17 states have (on average 2.764705882352941) internal successors, (47), 18 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0)