./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/list-ext-properties/960521-1_1-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/list-ext-properties/960521-1_1-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 2b468f3c6542f32922018ecd35f248815c64c681a62a7333b987abbfb42d9345 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:47:46,159 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:47:46,162 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:47:46,199 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:47:46,202 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:47:46,206 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:47:46,208 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:47:46,211 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:47:46,213 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:47:46,218 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:47:46,219 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:47:46,220 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:47:46,220 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:47:46,222 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:47:46,223 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:47:46,225 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:47:46,226 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:47:46,227 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:47:46,230 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:47:46,234 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:47:46,236 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:47:46,236 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:47:46,238 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:47:46,238 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:47:46,242 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:47:46,242 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:47:46,242 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:47:46,244 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:47:46,244 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:47:46,245 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:47:46,245 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:47:46,246 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:47:46,247 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:47:46,248 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:47:46,249 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:47:46,249 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:47:46,250 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:47:46,250 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:47:46,250 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:47:46,251 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:47:46,251 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:47:46,253 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:47:46,284 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:47:46,284 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:47:46,285 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:47:46,285 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:47:46,285 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:47:46,286 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:47:46,286 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:47:46,286 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:47:46,287 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:47:46,287 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:47:46,288 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:47:46,288 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:47:46,288 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:47:46,288 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:47:46,288 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:47:46,288 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:47:46,289 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:47:46,289 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:47:46,289 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:47:46,289 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:47:46,289 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:47:46,289 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:47:46,290 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:47:46,290 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:47:46,290 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:47:46,290 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:47:46,290 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:47:46,291 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:47:46,291 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:47:46,291 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:47:46,291 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 -> 2b468f3c6542f32922018ecd35f248815c64c681a62a7333b987abbfb42d9345 [2022-02-20 23:47:46,499 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:47:46,523 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:47:46,526 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:47:46,527 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:47:46,528 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:47:46,529 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-ext-properties/960521-1_1-2.i [2022-02-20 23:47:46,584 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/66da6c2fd/74b5e21f55aa4b918e87648f7cc79bde/FLAG521e3e756 [2022-02-20 23:47:47,061 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:47:47,062 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-ext-properties/960521-1_1-2.i [2022-02-20 23:47:47,071 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/66da6c2fd/74b5e21f55aa4b918e87648f7cc79bde/FLAG521e3e756 [2022-02-20 23:47:47,561 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/66da6c2fd/74b5e21f55aa4b918e87648f7cc79bde [2022-02-20 23:47:47,563 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:47:47,564 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:47:47,566 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:47:47,566 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:47:47,568 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:47:47,569 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:47,570 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@580be965 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47, skipping insertion in model container [2022-02-20 23:47:47,570 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:47,575 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:47:47,602 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:47:47,862 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:47:47,873 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:47:47,918 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:47:47,944 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:47:47,945 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47 WrapperNode [2022-02-20 23:47:47,946 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:47:47,947 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:47:47,947 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:47:47,947 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:47:47,954 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:47:47" (1/1) ... [2022-02-20 23:47:47,980 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:47:47" (1/1) ... [2022-02-20 23:47:48,010 INFO L137 Inliner]: procedures = 122, calls = 18, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 78 [2022-02-20 23:47:48,010 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:47:48,011 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:47:48,011 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:47:48,011 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:47:48,018 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:48,018 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:48,027 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:48,027 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:48,034 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:48,037 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:48,038 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:48,039 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:47:48,040 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:47:48,040 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:47:48,040 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:47:48,042 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47" (1/1) ... [2022-02-20 23:47:48,048 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:47:48,057 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:47:48,072 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:47:48,097 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:47:48,114 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:47:48,114 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:47:48,114 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:47:48,115 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:47:48,115 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:47:48,116 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 23:47:48,116 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:47:48,116 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:47:48,253 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:47:48,254 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:47:48,562 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:47:48,569 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:47:48,569 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 23:47:48,573 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:47:48 BoogieIcfgContainer [2022-02-20 23:47:48,573 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:47:48,574 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:47:48,574 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:47:48,577 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:47:48,577 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:47:47" (1/3) ... [2022-02-20 23:47:48,578 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43325f16 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:47:48, skipping insertion in model container [2022-02-20 23:47:48,578 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:47:47" (2/3) ... [2022-02-20 23:47:48,579 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43325f16 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:47:48, skipping insertion in model container [2022-02-20 23:47:48,579 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:47:48" (3/3) ... [2022-02-20 23:47:48,580 INFO L111 eAbstractionObserver]: Analyzing ICFG 960521-1_1-2.i [2022-02-20 23:47:48,584 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:47:48,585 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 23 error locations. [2022-02-20 23:47:48,631 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:47:48,641 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:47:48,641 INFO L340 AbstractCegarLoop]: Starting to check reachability of 23 error locations. [2022-02-20 23:47:48,664 INFO L276 IsEmpty]: Start isEmpty. Operand has 57 states, 33 states have (on average 1.9090909090909092) internal successors, (63), 56 states have internal predecessors, (63), 0 states have call successors, (0), 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:47:48,668 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:47:48,668 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:48,669 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:47:48,669 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:48,674 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:48,674 INFO L85 PathProgramCache]: Analyzing trace with hash 28702701, now seen corresponding path program 1 times [2022-02-20 23:47:48,681 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:48,682 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [78605754] [2022-02-20 23:47:48,682 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:48,683 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:48,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:48,816 INFO L290 TraceCheckUtils]: 0: Hoare triple {60#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {60#true} is VALID [2022-02-20 23:47:48,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {60#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {60#true} is VALID [2022-02-20 23:47:48,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {60#true} assume !true; {61#false} is VALID [2022-02-20 23:47:48,818 INFO L290 TraceCheckUtils]: 3: Hoare triple {61#false} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {61#false} is VALID [2022-02-20 23:47:48,818 INFO L290 TraceCheckUtils]: 4: Hoare triple {61#false} assume !(1 == #valid[main_#t~post9#1.base]); {61#false} is VALID [2022-02-20 23:47:48,819 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:47:48,820 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:48,820 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [78605754] [2022-02-20 23:47:48,821 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [78605754] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:48,821 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:47:48,821 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:47:48,823 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1034680429] [2022-02-20 23:47:48,823 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:48,827 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 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 5 [2022-02-20 23:47:48,830 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:48,833 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 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:47:48,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:48,849 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 23:47:48,850 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:48,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 23:47:48,871 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 23:47:48,874 INFO L87 Difference]: Start difference. First operand has 57 states, 33 states have (on average 1.9090909090909092) internal successors, (63), 56 states have internal predecessors, (63), 0 states have call successors, (0), 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 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 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:47:48,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:48,952 INFO L93 Difference]: Finished difference Result 57 states and 60 transitions. [2022-02-20 23:47:48,952 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 23:47:48,952 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 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 5 [2022-02-20 23:47:48,953 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:48,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 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:47:48,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 63 transitions. [2022-02-20 23:47:48,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 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:47:48,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 63 transitions. [2022-02-20 23:47:48,969 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 63 transitions. [2022-02-20 23:47:49,048 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:49,057 INFO L225 Difference]: With dead ends: 57 [2022-02-20 23:47:49,059 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 23:47:49,061 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 23:47:49,070 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:49,074 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:47:49,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 23:47:49,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-02-20 23:47:49,102 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:49,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 32 states have (on average 1.8125) internal successors, (58), 54 states have internal predecessors, (58), 0 states have call successors, (0), 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:47:49,104 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 32 states have (on average 1.8125) internal successors, (58), 54 states have internal predecessors, (58), 0 states have call successors, (0), 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:47:49,105 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 32 states have (on average 1.8125) internal successors, (58), 54 states have internal predecessors, (58), 0 states have call successors, (0), 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:47:49,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:49,111 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-02-20 23:47:49,112 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 58 transitions. [2022-02-20 23:47:49,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:49,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:49,113 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 32 states have (on average 1.8125) internal successors, (58), 54 states have internal predecessors, (58), 0 states have call successors, (0), 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:47:49,114 INFO L87 Difference]: Start difference. First operand has 55 states, 32 states have (on average 1.8125) internal successors, (58), 54 states have internal predecessors, (58), 0 states have call successors, (0), 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:47:49,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:49,121 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-02-20 23:47:49,121 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 58 transitions. [2022-02-20 23:47:49,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:49,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:49,122 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:49,122 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:49,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 32 states have (on average 1.8125) internal successors, (58), 54 states have internal predecessors, (58), 0 states have call successors, (0), 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:47:49,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 58 transitions. [2022-02-20 23:47:49,128 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 58 transitions. Word has length 5 [2022-02-20 23:47:49,128 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:49,128 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 58 transitions. [2022-02-20 23:47:49,129 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 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:47:49,129 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 58 transitions. [2022-02-20 23:47:49,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:47:49,130 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:49,131 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:47:49,131 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:47:49,131 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:49,133 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:49,133 INFO L85 PathProgramCache]: Analyzing trace with hash 889569384, now seen corresponding path program 1 times [2022-02-20 23:47:49,133 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:49,134 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1289106839] [2022-02-20 23:47:49,134 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:49,134 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:49,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:49,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {286#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {286#true} is VALID [2022-02-20 23:47:49,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {286#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {286#true} is VALID [2022-02-20 23:47:49,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {286#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {286#true} is VALID [2022-02-20 23:47:49,220 INFO L290 TraceCheckUtils]: 3: Hoare triple {286#true} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {286#true} is VALID [2022-02-20 23:47:49,226 INFO L290 TraceCheckUtils]: 4: Hoare triple {286#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {288#(= (select |#valid| |ULTIMATE.start_main_#t~post9#1.base|) 1)} is VALID [2022-02-20 23:47:49,227 INFO L290 TraceCheckUtils]: 5: Hoare triple {288#(= (select |#valid| |ULTIMATE.start_main_#t~post9#1.base|) 1)} assume !(1 == #valid[main_#t~post9#1.base]); {287#false} is VALID [2022-02-20 23:47:49,227 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:47:49,228 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:49,228 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1289106839] [2022-02-20 23:47:49,229 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1289106839] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:49,229 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:47:49,229 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:47:49,229 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1294294761] [2022-02-20 23:47:49,235 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:49,236 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 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 6 [2022-02-20 23:47:49,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:49,236 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,242 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:49,243 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:47:49,243 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:49,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:47:49,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:47:49,244 INFO L87 Difference]: Start difference. First operand 55 states and 58 transitions. Second operand has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:49,337 INFO L93 Difference]: Finished difference Result 54 states and 57 transitions. [2022-02-20 23:47:49,337 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:47:49,337 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 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 6 [2022-02-20 23:47:49,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:49,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-02-20 23:47:49,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-02-20 23:47:49,341 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-02-20 23:47:49,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:49,393 INFO L225 Difference]: With dead ends: 54 [2022-02-20 23:47:49,393 INFO L226 Difference]: Without dead ends: 54 [2022-02-20 23:47:49,394 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 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:47:49,399 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 2 mSDsluCounter, 34 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:49,399 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 89 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:47:49,402 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-02-20 23:47:49,408 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-02-20 23:47:49,408 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:49,408 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 32 states have (on average 1.78125) internal successors, (57), 53 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:47:49,409 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 32 states have (on average 1.78125) internal successors, (57), 53 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:47:49,409 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 32 states have (on average 1.78125) internal successors, (57), 53 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:47:49,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:49,413 INFO L93 Difference]: Finished difference Result 54 states and 57 transitions. [2022-02-20 23:47:49,414 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 57 transitions. [2022-02-20 23:47:49,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:49,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:49,415 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 32 states have (on average 1.78125) internal successors, (57), 53 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 54 states. [2022-02-20 23:47:49,415 INFO L87 Difference]: Start difference. First operand has 54 states, 32 states have (on average 1.78125) internal successors, (57), 53 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 54 states. [2022-02-20 23:47:49,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:49,419 INFO L93 Difference]: Finished difference Result 54 states and 57 transitions. [2022-02-20 23:47:49,419 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 57 transitions. [2022-02-20 23:47:49,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:49,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:49,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:49,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:49,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 32 states have (on average 1.78125) internal successors, (57), 53 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:47:49,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 57 transitions. [2022-02-20 23:47:49,423 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 57 transitions. Word has length 6 [2022-02-20 23:47:49,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:49,423 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 57 transitions. [2022-02-20 23:47:49,424 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 3.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,424 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 57 transitions. [2022-02-20 23:47:49,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:47:49,425 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:49,425 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:47:49,426 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:47:49,426 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:49,426 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:49,427 INFO L85 PathProgramCache]: Analyzing trace with hash 889569385, now seen corresponding path program 1 times [2022-02-20 23:47:49,427 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:49,427 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [927262236] [2022-02-20 23:47:49,427 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:49,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:49,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:49,523 INFO L290 TraceCheckUtils]: 0: Hoare triple {507#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {507#true} is VALID [2022-02-20 23:47:49,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {507#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {509#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:49,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {509#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {509#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:49,525 INFO L290 TraceCheckUtils]: 3: Hoare triple {509#(= (+ (- 1) ~n~0) 0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {509#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:49,526 INFO L290 TraceCheckUtils]: 4: Hoare triple {509#(= (+ (- 1) ~n~0) 0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {510#(and (<= 4 (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} is VALID [2022-02-20 23:47:49,527 INFO L290 TraceCheckUtils]: 5: Hoare triple {510#(and (<= 4 (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} assume !(4 + main_#t~post9#1.offset <= #length[main_#t~post9#1.base] && 0 <= main_#t~post9#1.offset); {508#false} is VALID [2022-02-20 23:47:49,527 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:47:49,528 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:49,528 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [927262236] [2022-02-20 23:47:49,528 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [927262236] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:49,528 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:47:49,528 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:47:49,529 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1013890412] [2022-02-20 23:47:49,529 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:49,530 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 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 6 [2022-02-20 23:47:49,530 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:49,530 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,536 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:49,537 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:47:49,537 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:49,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:47:49,537 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:47:49,538 INFO L87 Difference]: Start difference. First operand 54 states and 57 transitions. Second operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:49,762 INFO L93 Difference]: Finished difference Result 105 states and 111 transitions. [2022-02-20 23:47:49,762 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:47:49,762 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 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 6 [2022-02-20 23:47:49,762 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:49,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 112 transitions. [2022-02-20 23:47:49,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 112 transitions. [2022-02-20 23:47:49,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 112 transitions. [2022-02-20 23:47:49,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:49,894 INFO L225 Difference]: With dead ends: 105 [2022-02-20 23:47:49,894 INFO L226 Difference]: Without dead ends: 105 [2022-02-20 23:47:49,894 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 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:47:49,895 INFO L933 BasicCegarLoop]: 45 mSDtfsCounter, 52 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:49,911 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 125 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:47:49,912 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-02-20 23:47:49,915 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 58. [2022-02-20 23:47:49,915 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:49,915 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 58 states, 36 states have (on average 1.7222222222222223) internal successors, (62), 57 states have internal predecessors, (62), 0 states have call successors, (0), 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:47:49,916 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 58 states, 36 states have (on average 1.7222222222222223) internal successors, (62), 57 states have internal predecessors, (62), 0 states have call successors, (0), 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:47:49,916 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 58 states, 36 states have (on average 1.7222222222222223) internal successors, (62), 57 states have internal predecessors, (62), 0 states have call successors, (0), 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:47:49,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:49,919 INFO L93 Difference]: Finished difference Result 105 states and 111 transitions. [2022-02-20 23:47:49,919 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 111 transitions. [2022-02-20 23:47:49,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:49,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:49,920 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 36 states have (on average 1.7222222222222223) internal successors, (62), 57 states have internal predecessors, (62), 0 states have call successors, (0), 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 105 states. [2022-02-20 23:47:49,920 INFO L87 Difference]: Start difference. First operand has 58 states, 36 states have (on average 1.7222222222222223) internal successors, (62), 57 states have internal predecessors, (62), 0 states have call successors, (0), 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 105 states. [2022-02-20 23:47:49,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:49,923 INFO L93 Difference]: Finished difference Result 105 states and 111 transitions. [2022-02-20 23:47:49,923 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 111 transitions. [2022-02-20 23:47:49,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:49,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:49,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:49,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:49,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 36 states have (on average 1.7222222222222223) internal successors, (62), 57 states have internal predecessors, (62), 0 states have call successors, (0), 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:47:49,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 62 transitions. [2022-02-20 23:47:49,926 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 62 transitions. Word has length 6 [2022-02-20 23:47:49,926 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:49,926 INFO L470 AbstractCegarLoop]: Abstraction has 58 states and 62 transitions. [2022-02-20 23:47:49,926 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 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:47:49,930 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 62 transitions. [2022-02-20 23:47:49,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 23:47:49,930 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:49,931 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:49,931 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:47:49,932 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:49,933 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:49,933 INFO L85 PathProgramCache]: Analyzing trace with hash 179257870, now seen corresponding path program 1 times [2022-02-20 23:47:49,933 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:49,934 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1078681941] [2022-02-20 23:47:49,937 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:49,938 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:49,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:50,012 INFO L290 TraceCheckUtils]: 0: Hoare triple {888#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {888#true} is VALID [2022-02-20 23:47:50,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {888#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {890#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:50,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {890#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {890#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:50,015 INFO L290 TraceCheckUtils]: 3: Hoare triple {890#(= (+ (- 1) ~n~0) 0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {891#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:50,015 INFO L290 TraceCheckUtils]: 4: Hoare triple {891#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {891#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:50,016 INFO L290 TraceCheckUtils]: 5: Hoare triple {891#(<= 2 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {891#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:50,017 INFO L290 TraceCheckUtils]: 6: Hoare triple {891#(<= 2 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {892#(and (<= 8 (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} is VALID [2022-02-20 23:47:50,017 INFO L290 TraceCheckUtils]: 7: Hoare triple {892#(and (<= 8 (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} assume !(4 + main_#t~post9#1.offset <= #length[main_#t~post9#1.base] && 0 <= main_#t~post9#1.offset); {889#false} is VALID [2022-02-20 23:47:50,018 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:47:50,018 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:50,018 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1078681941] [2022-02-20 23:47:50,018 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1078681941] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:47:50,019 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [156932504] [2022-02-20 23:47:50,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:50,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:50,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:47:50,023 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:47:50,043 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 23:47:50,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:50,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:47:50,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:50,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:47:50,297 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:47:50,298 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 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:47:50,335 INFO L290 TraceCheckUtils]: 0: Hoare triple {888#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {888#true} is VALID [2022-02-20 23:47:50,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {888#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {899#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:50,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {899#(<= 1 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {899#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:50,337 INFO L290 TraceCheckUtils]: 3: Hoare triple {899#(<= 1 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {891#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:50,338 INFO L290 TraceCheckUtils]: 4: Hoare triple {891#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {891#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:50,338 INFO L290 TraceCheckUtils]: 5: Hoare triple {891#(<= 2 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {891#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:50,339 INFO L290 TraceCheckUtils]: 6: Hoare triple {891#(<= 2 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {892#(and (<= 8 (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} is VALID [2022-02-20 23:47:50,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {892#(and (<= 8 (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} assume !(4 + main_#t~post9#1.offset <= #length[main_#t~post9#1.base] && 0 <= main_#t~post9#1.offset); {889#false} is VALID [2022-02-20 23:47:50,340 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:47:50,340 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:47:50,341 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [156932504] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:50,341 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:47:50,341 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [4] total 5 [2022-02-20 23:47:50,341 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [201587838] [2022-02-20 23:47:50,341 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:50,342 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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 8 [2022-02-20 23:47:50,342 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:50,342 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:47:50,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:50,352 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:47:50,352 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:50,353 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:47:50,353 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:47:50,353 INFO L87 Difference]: Start difference. First operand 58 states and 62 transitions. Second operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:47:50,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:50,612 INFO L93 Difference]: Finished difference Result 104 states and 110 transitions. [2022-02-20 23:47:50,612 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:47:50,612 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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 8 [2022-02-20 23:47:50,612 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:50,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:47:50,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 111 transitions. [2022-02-20 23:47:50,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:47:50,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 111 transitions. [2022-02-20 23:47:50,616 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 111 transitions. [2022-02-20 23:47:50,740 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:50,745 INFO L225 Difference]: With dead ends: 104 [2022-02-20 23:47:50,745 INFO L226 Difference]: Without dead ends: 104 [2022-02-20 23:47:50,745 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 6 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:47:50,751 INFO L933 BasicCegarLoop]: 86 mSDtfsCounter, 104 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 104 SdHoareTripleChecker+Valid, 202 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:50,751 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [104 Valid, 202 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:47:50,752 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-02-20 23:47:50,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 53. [2022-02-20 23:47:50,754 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:50,755 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 53 states, 32 states have (on average 1.75) internal successors, (56), 52 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:47:50,755 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 53 states, 32 states have (on average 1.75) internal successors, (56), 52 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:47:50,755 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 53 states, 32 states have (on average 1.75) internal successors, (56), 52 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:47:50,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:50,758 INFO L93 Difference]: Finished difference Result 104 states and 110 transitions. [2022-02-20 23:47:50,758 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 110 transitions. [2022-02-20 23:47:50,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:50,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:50,759 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 32 states have (on average 1.75) internal successors, (56), 52 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 104 states. [2022-02-20 23:47:50,760 INFO L87 Difference]: Start difference. First operand has 53 states, 32 states have (on average 1.75) internal successors, (56), 52 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 104 states. [2022-02-20 23:47:50,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:50,763 INFO L93 Difference]: Finished difference Result 104 states and 110 transitions. [2022-02-20 23:47:50,763 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 110 transitions. [2022-02-20 23:47:50,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:50,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:50,764 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:50,764 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:50,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 32 states have (on average 1.75) internal successors, (56), 52 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:47:50,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 56 transitions. [2022-02-20 23:47:50,766 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 56 transitions. Word has length 8 [2022-02-20 23:47:50,766 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:50,766 INFO L470 AbstractCegarLoop]: Abstraction has 53 states and 56 transitions. [2022-02-20 23:47:50,766 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:47:50,766 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2022-02-20 23:47:50,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:47:50,767 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:50,767 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:50,793 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:47:50,989 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:50,990 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:50,990 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:50,990 INFO L85 PathProgramCache]: Analyzing trace with hash 1213292751, now seen corresponding path program 1 times [2022-02-20 23:47:50,990 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:50,990 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [94384353] [2022-02-20 23:47:50,991 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:50,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:51,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:51,041 INFO L290 TraceCheckUtils]: 0: Hoare triple {1284#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {1284#true} is VALID [2022-02-20 23:47:51,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {1284#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {1284#true} is VALID [2022-02-20 23:47:51,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {1284#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1284#true} is VALID [2022-02-20 23:47:51,042 INFO L290 TraceCheckUtils]: 3: Hoare triple {1284#true} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {1284#true} is VALID [2022-02-20 23:47:51,043 INFO L290 TraceCheckUtils]: 4: Hoare triple {1284#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {1286#(or (= |ULTIMATE.start_main_#t~post9#1.base| ~a~0.base) (= (select |#valid| ~a~0.base) 1))} is VALID [2022-02-20 23:47:51,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {1286#(or (= |ULTIMATE.start_main_#t~post9#1.base| ~a~0.base) (= (select |#valid| ~a~0.base) 1))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {1287#(= (select |#valid| ~a~0.base) 1)} is VALID [2022-02-20 23:47:51,044 INFO L290 TraceCheckUtils]: 6: Hoare triple {1287#(= (select |#valid| ~a~0.base) 1)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1287#(= (select |#valid| ~a~0.base) 1)} is VALID [2022-02-20 23:47:51,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {1287#(= (select |#valid| ~a~0.base) 1)} assume !!(foo_~i~0#1 < ~n~0); {1287#(= (select |#valid| ~a~0.base) 1)} is VALID [2022-02-20 23:47:51,045 INFO L290 TraceCheckUtils]: 8: Hoare triple {1287#(= (select |#valid| ~a~0.base) 1)} assume !(1 == #valid[~a~0.base]); {1285#false} is VALID [2022-02-20 23:47:51,046 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:47:51,046 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:51,046 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [94384353] [2022-02-20 23:47:51,046 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [94384353] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:51,046 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:47:51,046 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:47:51,047 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1265954821] [2022-02-20 23:47:51,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:51,047 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) 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:47:51,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:51,048 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.0) 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:47:51,055 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:47:51,055 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:47:51,055 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:51,056 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:47:51,056 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:47:51,056 INFO L87 Difference]: Start difference. First operand 53 states and 56 transitions. Second operand has 4 states, 3 states have (on average 3.0) 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:47:51,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:51,127 INFO L93 Difference]: Finished difference Result 50 states and 53 transitions. [2022-02-20 23:47:51,127 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:47:51,127 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) 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:47:51,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:51,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) 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:47:51,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 56 transitions. [2022-02-20 23:47:51,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) 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:47:51,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 56 transitions. [2022-02-20 23:47:51,129 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 56 transitions. [2022-02-20 23:47:51,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:51,168 INFO L225 Difference]: With dead ends: 50 [2022-02-20 23:47:51,169 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 23:47:51,169 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 1 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:47:51,170 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 59 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:51,170 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 50 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:47:51,170 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 23:47:51,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-02-20 23:47:51,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:51,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 32 states have (on average 1.65625) internal successors, (53), 49 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:47:51,173 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 32 states have (on average 1.65625) internal successors, (53), 49 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:47:51,173 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 32 states have (on average 1.65625) internal successors, (53), 49 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:47:51,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:51,174 INFO L93 Difference]: Finished difference Result 50 states and 53 transitions. [2022-02-20 23:47:51,175 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 53 transitions. [2022-02-20 23:47:51,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:51,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:51,175 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 32 states have (on average 1.65625) internal successors, (53), 49 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 50 states. [2022-02-20 23:47:51,176 INFO L87 Difference]: Start difference. First operand has 50 states, 32 states have (on average 1.65625) internal successors, (53), 49 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 50 states. [2022-02-20 23:47:51,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:51,177 INFO L93 Difference]: Finished difference Result 50 states and 53 transitions. [2022-02-20 23:47:51,177 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 53 transitions. [2022-02-20 23:47:51,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:51,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:51,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:51,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:51,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 32 states have (on average 1.65625) internal successors, (53), 49 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:47:51,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 53 transitions. [2022-02-20 23:47:51,179 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 53 transitions. Word has length 9 [2022-02-20 23:47:51,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:51,180 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 53 transitions. [2022-02-20 23:47:51,180 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.0) 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:47:51,180 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 53 transitions. [2022-02-20 23:47:51,180 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:47:51,180 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:51,181 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:51,181 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:47:51,181 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:51,181 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:51,181 INFO L85 PathProgramCache]: Analyzing trace with hash 1213292752, now seen corresponding path program 1 times [2022-02-20 23:47:51,182 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:51,182 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [618936974] [2022-02-20 23:47:51,182 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:51,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:51,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:51,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {1490#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {1490#true} is VALID [2022-02-20 23:47:51,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {1490#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {1492#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:51,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {1492#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1492#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:51,307 INFO L290 TraceCheckUtils]: 3: Hoare triple {1492#(= (+ (- 1) ~n~0) 0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {1492#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:51,308 INFO L290 TraceCheckUtils]: 4: Hoare triple {1492#(= (+ (- 1) ~n~0) 0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {1493#(and (not (= |ULTIMATE.start_main_#t~post9#1.base| ~a~0.base)) (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (= ~n~0 1))} is VALID [2022-02-20 23:47:51,309 INFO L290 TraceCheckUtils]: 5: Hoare triple {1493#(and (not (= |ULTIMATE.start_main_#t~post9#1.base| ~a~0.base)) (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (= ~n~0 1))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {1494#(and (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (= ~n~0 1))} is VALID [2022-02-20 23:47:51,310 INFO L290 TraceCheckUtils]: 6: Hoare triple {1494#(and (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (= ~n~0 1))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1495#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (= ~n~0 1))} is VALID [2022-02-20 23:47:51,314 INFO L290 TraceCheckUtils]: 7: Hoare triple {1495#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (= ~n~0 1))} assume !!(foo_~i~0#1 < ~n~0); {1496#(and (<= 4 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:51,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {1496#(and (<= 4 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {1491#false} is VALID [2022-02-20 23:47:51,315 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:47:51,315 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:51,316 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [618936974] [2022-02-20 23:47:51,316 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [618936974] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:51,316 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:47:51,316 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:47:51,316 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [785022370] [2022-02-20 23:47:51,316 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:51,317 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 1.5) internal successors, (9), 7 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:47:51,318 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:51,318 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 1.5) internal successors, (9), 7 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:47:51,325 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:47:51,326 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:47:51,326 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:51,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:47:51,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:47:51,327 INFO L87 Difference]: Start difference. First operand 50 states and 53 transitions. Second operand has 7 states, 6 states have (on average 1.5) internal successors, (9), 7 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:47:51,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:51,607 INFO L93 Difference]: Finished difference Result 94 states and 99 transitions. [2022-02-20 23:47:51,607 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:47:51,607 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 1.5) internal successors, (9), 7 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:47:51,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:51,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 1.5) internal successors, (9), 7 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:47:51,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 104 transitions. [2022-02-20 23:47:51,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 1.5) internal successors, (9), 7 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:47:51,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 104 transitions. [2022-02-20 23:47:51,611 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 104 transitions. [2022-02-20 23:47:51,693 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:51,694 INFO L225 Difference]: With dead ends: 94 [2022-02-20 23:47:51,694 INFO L226 Difference]: Without dead ends: 94 [2022-02-20 23:47:51,694 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:47:51,695 INFO L933 BasicCegarLoop]: 66 mSDtfsCounter, 81 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 98 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 108 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 98 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:51,695 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [81 Valid, 149 Invalid, 108 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:47:51,696 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-02-20 23:47:51,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 68. [2022-02-20 23:47:51,699 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:51,699 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 68 states, 50 states have (on average 1.58) internal successors, (79), 67 states have internal predecessors, (79), 0 states have call successors, (0), 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:47:51,699 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 68 states, 50 states have (on average 1.58) internal successors, (79), 67 states have internal predecessors, (79), 0 states have call successors, (0), 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:47:51,700 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 68 states, 50 states have (on average 1.58) internal successors, (79), 67 states have internal predecessors, (79), 0 states have call successors, (0), 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:47:51,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:51,702 INFO L93 Difference]: Finished difference Result 94 states and 99 transitions. [2022-02-20 23:47:51,702 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 99 transitions. [2022-02-20 23:47:51,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:51,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:51,703 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 50 states have (on average 1.58) internal successors, (79), 67 states have internal predecessors, (79), 0 states have call successors, (0), 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 94 states. [2022-02-20 23:47:51,703 INFO L87 Difference]: Start difference. First operand has 68 states, 50 states have (on average 1.58) internal successors, (79), 67 states have internal predecessors, (79), 0 states have call successors, (0), 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 94 states. [2022-02-20 23:47:51,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:51,706 INFO L93 Difference]: Finished difference Result 94 states and 99 transitions. [2022-02-20 23:47:51,706 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 99 transitions. [2022-02-20 23:47:51,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:51,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:51,706 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:51,706 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:51,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 50 states have (on average 1.58) internal successors, (79), 67 states have internal predecessors, (79), 0 states have call successors, (0), 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:47:51,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 79 transitions. [2022-02-20 23:47:51,708 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 79 transitions. Word has length 9 [2022-02-20 23:47:51,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:51,709 INFO L470 AbstractCegarLoop]: Abstraction has 68 states and 79 transitions. [2022-02-20 23:47:51,709 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 1.5) internal successors, (9), 7 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:47:51,709 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 79 transitions. [2022-02-20 23:47:51,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:47:51,710 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:51,710 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:51,710 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 23:47:51,710 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:51,711 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:51,711 INFO L85 PathProgramCache]: Analyzing trace with hash 1626816779, now seen corresponding path program 1 times [2022-02-20 23:47:51,711 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:51,711 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1876116962] [2022-02-20 23:47:51,711 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:51,711 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:51,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:51,792 INFO L290 TraceCheckUtils]: 0: Hoare triple {1849#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {1849#true} is VALID [2022-02-20 23:47:51,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {1849#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {1851#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:51,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {1851#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1851#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:51,795 INFO L290 TraceCheckUtils]: 3: Hoare triple {1851#(= (+ (- 1) ~n~0) 0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1852#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:51,796 INFO L290 TraceCheckUtils]: 4: Hoare triple {1852#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1852#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:51,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {1852#(<= 2 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {1852#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:51,797 INFO L290 TraceCheckUtils]: 6: Hoare triple {1852#(<= 2 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {1853#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0))} is VALID [2022-02-20 23:47:51,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {1853#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {1853#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0))} is VALID [2022-02-20 23:47:51,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {1853#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1854#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:51,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {1854#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 < ~n~0); {1854#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:51,799 INFO L290 TraceCheckUtils]: 10: Hoare triple {1854#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {1850#false} is VALID [2022-02-20 23:47:51,800 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:47:51,800 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:51,800 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1876116962] [2022-02-20 23:47:51,800 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1876116962] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:47:51,800 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1334288764] [2022-02-20 23:47:51,800 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:51,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:51,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:47:51,801 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:47:51,802 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 23:47:51,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:51,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 23:47:51,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:51,859 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:47:52,043 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:47:52,045 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 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:47:52,073 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 10 treesize of output 8 [2022-02-20 23:47:52,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {1849#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {1849#true} is VALID [2022-02-20 23:47:52,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {1849#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {1861#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:52,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {1861#(<= 1 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1861#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:52,136 INFO L290 TraceCheckUtils]: 3: Hoare triple {1861#(<= 1 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1852#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:52,137 INFO L290 TraceCheckUtils]: 4: Hoare triple {1852#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1852#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:52,137 INFO L290 TraceCheckUtils]: 5: Hoare triple {1852#(<= 2 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {1852#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:52,138 INFO L290 TraceCheckUtils]: 6: Hoare triple {1852#(<= 2 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {1853#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0))} is VALID [2022-02-20 23:47:52,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {1853#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {1853#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0))} is VALID [2022-02-20 23:47:52,140 INFO L290 TraceCheckUtils]: 8: Hoare triple {1853#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1854#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:52,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {1854#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 < ~n~0); {1854#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:52,141 INFO L290 TraceCheckUtils]: 10: Hoare triple {1854#(and (<= 8 (select |#length| ~a~0.base)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {1850#false} is VALID [2022-02-20 23:47:52,141 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:47:52,142 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:47:52,142 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1334288764] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:52,142 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:47:52,142 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 6 [2022-02-20 23:47:52,142 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [749475431] [2022-02-20 23:47:52,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:52,143 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 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:47:52,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:52,143 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 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:47:52,154 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:47:52,154 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:47:52,154 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:52,155 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:47:52,155 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:47:52,155 INFO L87 Difference]: Start difference. First operand 68 states and 79 transitions. Second operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 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:47:52,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:52,416 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2022-02-20 23:47:52,416 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:47:52,417 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 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:47:52,417 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:52,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 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:47:52,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 108 transitions. [2022-02-20 23:47:52,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 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:47:52,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 108 transitions. [2022-02-20 23:47:52,420 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 108 transitions. [2022-02-20 23:47:52,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:52,513 INFO L225 Difference]: With dead ends: 100 [2022-02-20 23:47:52,513 INFO L226 Difference]: Without dead ends: 100 [2022-02-20 23:47:52,513 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:47:52,514 INFO L933 BasicCegarLoop]: 59 mSDtfsCounter, 149 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 149 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:52,514 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [149 Valid, 138 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:47:52,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-02-20 23:47:52,517 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 63. [2022-02-20 23:47:52,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:52,517 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 63 states, 47 states have (on average 1.4680851063829787) internal successors, (69), 62 states have internal predecessors, (69), 0 states have call successors, (0), 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:47:52,518 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 63 states, 47 states have (on average 1.4680851063829787) internal successors, (69), 62 states have internal predecessors, (69), 0 states have call successors, (0), 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:47:52,518 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 63 states, 47 states have (on average 1.4680851063829787) internal successors, (69), 62 states have internal predecessors, (69), 0 states have call successors, (0), 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:47:52,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:52,520 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2022-02-20 23:47:52,520 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2022-02-20 23:47:52,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:52,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:52,521 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 47 states have (on average 1.4680851063829787) internal successors, (69), 62 states have internal predecessors, (69), 0 states have call successors, (0), 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 100 states. [2022-02-20 23:47:52,521 INFO L87 Difference]: Start difference. First operand has 63 states, 47 states have (on average 1.4680851063829787) internal successors, (69), 62 states have internal predecessors, (69), 0 states have call successors, (0), 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 100 states. [2022-02-20 23:47:52,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:52,523 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2022-02-20 23:47:52,523 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2022-02-20 23:47:52,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:52,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:52,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:52,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:52,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 47 states have (on average 1.4680851063829787) internal successors, (69), 62 states have internal predecessors, (69), 0 states have call successors, (0), 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:47:52,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 69 transitions. [2022-02-20 23:47:52,525 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 69 transitions. Word has length 11 [2022-02-20 23:47:52,526 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:52,526 INFO L470 AbstractCegarLoop]: Abstraction has 63 states and 69 transitions. [2022-02-20 23:47:52,526 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 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:47:52,526 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 69 transitions. [2022-02-20 23:47:52,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 23:47:52,526 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:52,526 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:52,552 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:47:52,749 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2022-02-20 23:47:52,749 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:52,750 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:52,750 INFO L85 PathProgramCache]: Analyzing trace with hash -1240415274, now seen corresponding path program 1 times [2022-02-20 23:47:52,750 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:52,750 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1257458351] [2022-02-20 23:47:52,750 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:52,750 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:52,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:52,807 INFO L290 TraceCheckUtils]: 0: Hoare triple {2255#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {2255#true} is VALID [2022-02-20 23:47:52,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {2255#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {2257#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:52,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {2257#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2257#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:52,808 INFO L290 TraceCheckUtils]: 3: Hoare triple {2257#(= (+ (- 1) ~n~0) 0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {2257#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:52,809 INFO L290 TraceCheckUtils]: 4: Hoare triple {2257#(= (+ (- 1) ~n~0) 0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {2257#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:52,809 INFO L290 TraceCheckUtils]: 5: Hoare triple {2257#(= (+ (- 1) ~n~0) 0)} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {2257#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:52,809 INFO L290 TraceCheckUtils]: 6: Hoare triple {2257#(= (+ (- 1) ~n~0) 0)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2258#(and (= (+ (- 1) ~n~0) 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:52,810 INFO L290 TraceCheckUtils]: 7: Hoare triple {2258#(and (= (+ (- 1) ~n~0) 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 < ~n~0); {2258#(and (= (+ (- 1) ~n~0) 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:52,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {2258#(and (= (+ (- 1) ~n~0) 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {2258#(and (= (+ (- 1) ~n~0) 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:52,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {2258#(and (= (+ (- 1) ~n~0) 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {2259#(and (= (+ (- 1) ~n~0) 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:52,811 INFO L290 TraceCheckUtils]: 10: Hoare triple {2259#(and (= (+ (- 1) ~n~0) 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 < ~n~0); {2256#false} is VALID [2022-02-20 23:47:52,811 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#false} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {2256#false} is VALID [2022-02-20 23:47:52,812 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:47:52,812 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:52,812 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1257458351] [2022-02-20 23:47:52,812 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1257458351] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:47:52,812 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2087739631] [2022-02-20 23:47:52,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:52,812 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:52,813 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:47:52,814 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:47:52,849 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 23:47:52,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:52,879 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:47:52,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:52,887 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:47:53,001 INFO L290 TraceCheckUtils]: 0: Hoare triple {2255#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {2255#true} is VALID [2022-02-20 23:47:53,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {2255#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {2266#(<= ~n~0 1)} is VALID [2022-02-20 23:47:53,003 INFO L290 TraceCheckUtils]: 2: Hoare triple {2266#(<= ~n~0 1)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2266#(<= ~n~0 1)} is VALID [2022-02-20 23:47:53,004 INFO L290 TraceCheckUtils]: 3: Hoare triple {2266#(<= ~n~0 1)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {2266#(<= ~n~0 1)} is VALID [2022-02-20 23:47:53,004 INFO L290 TraceCheckUtils]: 4: Hoare triple {2266#(<= ~n~0 1)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {2266#(<= ~n~0 1)} is VALID [2022-02-20 23:47:53,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {2266#(<= ~n~0 1)} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {2266#(<= ~n~0 1)} is VALID [2022-02-20 23:47:53,005 INFO L290 TraceCheckUtils]: 6: Hoare triple {2266#(<= ~n~0 1)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2282#(and (<= ~n~0 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:53,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {2282#(and (<= ~n~0 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 < ~n~0); {2282#(and (<= ~n~0 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:53,006 INFO L290 TraceCheckUtils]: 8: Hoare triple {2282#(and (<= ~n~0 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {2282#(and (<= ~n~0 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:53,007 INFO L290 TraceCheckUtils]: 9: Hoare triple {2282#(and (<= ~n~0 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {2292#(and (<= ~n~0 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:53,007 INFO L290 TraceCheckUtils]: 10: Hoare triple {2292#(and (<= ~n~0 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 < ~n~0); {2256#false} is VALID [2022-02-20 23:47:53,007 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#false} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {2256#false} is VALID [2022-02-20 23:47:53,008 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:47:53,008 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:47:53,008 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2087739631] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:53,008 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:47:53,009 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 8 [2022-02-20 23:47:53,009 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [531681958] [2022-02-20 23:47:53,009 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:53,010 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 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 12 [2022-02-20 23:47:53,010 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:53,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 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:47:53,020 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:53,020 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:47:53,020 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:53,021 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:47:53,021 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:47:53,021 INFO L87 Difference]: Start difference. First operand 63 states and 69 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 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:47:53,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:53,178 INFO L93 Difference]: Finished difference Result 93 states and 97 transitions. [2022-02-20 23:47:53,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:47:53,178 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 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 12 [2022-02-20 23:47:53,178 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:53,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 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:47:53,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 95 transitions. [2022-02-20 23:47:53,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 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:47:53,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 95 transitions. [2022-02-20 23:47:53,182 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 95 transitions. [2022-02-20 23:47:53,252 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:53,253 INFO L225 Difference]: With dead ends: 93 [2022-02-20 23:47:53,253 INFO L226 Difference]: Without dead ends: 93 [2022-02-20 23:47:53,253 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:47:53,254 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 37 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 137 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.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:53,254 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 137 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:47:53,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-02-20 23:47:53,256 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 62. [2022-02-20 23:47:53,257 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:53,257 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 62 states, 46 states have (on average 1.434782608695652) internal successors, (66), 61 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:47:53,257 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 62 states, 46 states have (on average 1.434782608695652) internal successors, (66), 61 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:47:53,257 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 62 states, 46 states have (on average 1.434782608695652) internal successors, (66), 61 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:47:53,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:53,259 INFO L93 Difference]: Finished difference Result 93 states and 97 transitions. [2022-02-20 23:47:53,259 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 97 transitions. [2022-02-20 23:47:53,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:53,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:53,260 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 46 states have (on average 1.434782608695652) internal successors, (66), 61 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 93 states. [2022-02-20 23:47:53,260 INFO L87 Difference]: Start difference. First operand has 62 states, 46 states have (on average 1.434782608695652) internal successors, (66), 61 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 93 states. [2022-02-20 23:47:53,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:53,262 INFO L93 Difference]: Finished difference Result 93 states and 97 transitions. [2022-02-20 23:47:53,263 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 97 transitions. [2022-02-20 23:47:53,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:53,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:53,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:53,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:53,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 46 states have (on average 1.434782608695652) internal successors, (66), 61 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:47:53,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 66 transitions. [2022-02-20 23:47:53,265 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 66 transitions. Word has length 12 [2022-02-20 23:47:53,265 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:53,265 INFO L470 AbstractCegarLoop]: Abstraction has 62 states and 66 transitions. [2022-02-20 23:47:53,265 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 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:47:53,266 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-02-20 23:47:53,266 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 23:47:53,266 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:53,266 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:53,293 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-02-20 23:47:53,486 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:53,487 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:53,487 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:53,487 INFO L85 PathProgramCache]: Analyzing trace with hash 87668155, now seen corresponding path program 1 times [2022-02-20 23:47:53,488 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:53,488 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1897848702] [2022-02-20 23:47:53,488 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:53,488 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:53,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:53,606 INFO L290 TraceCheckUtils]: 0: Hoare triple {2639#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {2639#true} is VALID [2022-02-20 23:47:53,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {2639#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {2641#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:53,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {2641#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2641#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:53,607 INFO L290 TraceCheckUtils]: 3: Hoare triple {2641#(= (+ (- 1) ~n~0) 0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2642#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:53,608 INFO L290 TraceCheckUtils]: 4: Hoare triple {2642#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2642#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:53,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {2642#(<= 2 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {2642#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:53,609 INFO L290 TraceCheckUtils]: 6: Hoare triple {2642#(<= 2 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {2643#(and (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} is VALID [2022-02-20 23:47:53,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {2643#(and (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {2643#(and (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} is VALID [2022-02-20 23:47:53,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {2643#(and (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2644#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} is VALID [2022-02-20 23:47:53,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {2644#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} assume !!(foo_~i~0#1 < ~n~0); {2644#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} is VALID [2022-02-20 23:47:53,613 INFO L290 TraceCheckUtils]: 10: Hoare triple {2644#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {2644#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} is VALID [2022-02-20 23:47:53,615 INFO L290 TraceCheckUtils]: 11: Hoare triple {2644#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 2 ~n~0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {2645#(and (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) ~n~0))} is VALID [2022-02-20 23:47:53,616 INFO L290 TraceCheckUtils]: 12: Hoare triple {2645#(and (= ~a~0.offset 0) (= (* ~n~0 4) (select |#length| ~a~0.base)) (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) ~n~0))} assume !!(foo_~i~0#1 < ~n~0); {2646#(and (<= (+ 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (= ~a~0.offset 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:53,617 INFO L290 TraceCheckUtils]: 13: Hoare triple {2646#(and (<= (+ 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (= ~a~0.offset 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {2640#false} is VALID [2022-02-20 23:47:53,617 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:47:53,617 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:53,618 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1897848702] [2022-02-20 23:47:53,618 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1897848702] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:47:53,618 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [127701689] [2022-02-20 23:47:53,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:53,618 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:53,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:47:53,619 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:47:53,648 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 23:47:53,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:53,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 94 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 23:47:53,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:53,693 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:47:53,833 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:47:53,834 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 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:47:53,856 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 10 treesize of output 8 [2022-02-20 23:47:53,995 INFO L290 TraceCheckUtils]: 0: Hoare triple {2639#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {2639#true} is VALID [2022-02-20 23:47:53,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {2639#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {2653#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:54,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {2653#(<= 1 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2653#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:54,009 INFO L290 TraceCheckUtils]: 3: Hoare triple {2653#(<= 1 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2642#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:54,011 INFO L290 TraceCheckUtils]: 4: Hoare triple {2642#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2642#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:54,011 INFO L290 TraceCheckUtils]: 5: Hoare triple {2642#(<= 2 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {2642#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:54,012 INFO L290 TraceCheckUtils]: 6: Hoare triple {2642#(<= 2 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {2669#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0))} is VALID [2022-02-20 23:47:54,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {2669#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {2669#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0))} is VALID [2022-02-20 23:47:54,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {2669#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2676#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:54,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {2676#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 < ~n~0); {2676#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:54,015 INFO L290 TraceCheckUtils]: 10: Hoare triple {2676#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {2676#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:54,015 INFO L290 TraceCheckUtils]: 11: Hoare triple {2676#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {2686#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= |ULTIMATE.start_foo_~i~0#1| 1) (= ~a~0.offset 0))} is VALID [2022-02-20 23:47:54,016 INFO L290 TraceCheckUtils]: 12: Hoare triple {2686#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= |ULTIMATE.start_foo_~i~0#1| 1) (= ~a~0.offset 0))} assume !!(foo_~i~0#1 < ~n~0); {2686#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= |ULTIMATE.start_foo_~i~0#1| 1) (= ~a~0.offset 0))} is VALID [2022-02-20 23:47:54,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {2686#(and (<= 2 (div (select |#length| ~a~0.base) 4)) (= |ULTIMATE.start_foo_~i~0#1| 1) (= ~a~0.offset 0))} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {2640#false} is VALID [2022-02-20 23:47:54,017 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:47:54,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:47:54,252 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:47:54,310 INFO L290 TraceCheckUtils]: 13: Hoare triple {2693#(and (<= (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4))))} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {2640#false} is VALID [2022-02-20 23:47:54,311 INFO L290 TraceCheckUtils]: 12: Hoare triple {2693#(and (<= (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4))))} assume !!(foo_~i~0#1 < ~n~0); {2693#(and (<= (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4))))} is VALID [2022-02-20 23:47:54,312 INFO L290 TraceCheckUtils]: 11: Hoare triple {2700#(and (<= (+ ~a~0.offset 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4))))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {2693#(and (<= (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4))))} is VALID [2022-02-20 23:47:54,313 INFO L290 TraceCheckUtils]: 10: Hoare triple {2700#(and (<= (+ ~a~0.offset 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4))))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {2700#(and (<= (+ ~a~0.offset 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4))))} is VALID [2022-02-20 23:47:54,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {2700#(and (<= (+ ~a~0.offset 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4))))} assume !!(foo_~i~0#1 < ~n~0); {2700#(and (<= (+ ~a~0.offset 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4))))} is VALID [2022-02-20 23:47:54,314 INFO L290 TraceCheckUtils]: 8: Hoare triple {2710#(and (<= (+ ~a~0.offset 8) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2700#(and (<= (+ ~a~0.offset 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4))))} is VALID [2022-02-20 23:47:54,314 INFO L290 TraceCheckUtils]: 7: Hoare triple {2710#(and (<= (+ ~a~0.offset 8) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4)))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {2710#(and (<= (+ ~a~0.offset 8) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4)))} is VALID [2022-02-20 23:47:54,315 INFO L290 TraceCheckUtils]: 6: Hoare triple {2642#(<= 2 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {2710#(and (<= (+ ~a~0.offset 8) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset 4)))} is VALID [2022-02-20 23:47:54,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {2642#(<= 2 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {2642#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:54,316 INFO L290 TraceCheckUtils]: 4: Hoare triple {2642#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2642#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:54,317 INFO L290 TraceCheckUtils]: 3: Hoare triple {2653#(<= 1 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2642#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:54,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {2653#(<= 1 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2653#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:54,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {2639#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {2653#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:54,317 INFO L290 TraceCheckUtils]: 0: Hoare triple {2639#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {2639#true} is VALID [2022-02-20 23:47:54,318 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:47:54,318 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [127701689] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:47:54,318 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:47:54,318 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 14 [2022-02-20 23:47:54,318 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1368986842] [2022-02-20 23:47:54,318 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:47:54,319 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 15 states have internal predecessors, (33), 0 states have call successors, (0), 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 14 [2022-02-20 23:47:54,319 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:54,319 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 15 states have internal predecessors, (33), 0 states have call successors, (0), 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:47:54,344 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:54,344 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 23:47:54,344 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:54,344 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 23:47:54,344 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=150, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:47:54,345 INFO L87 Difference]: Start difference. First operand 62 states and 66 transitions. Second operand has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 15 states have internal predecessors, (33), 0 states have call successors, (0), 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:47:55,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:55,307 INFO L93 Difference]: Finished difference Result 137 states and 142 transitions. [2022-02-20 23:47:55,308 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:47:55,308 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 15 states have internal predecessors, (33), 0 states have call successors, (0), 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 14 [2022-02-20 23:47:55,308 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:55,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 15 states have internal predecessors, (33), 0 states have call successors, (0), 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:47:55,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 144 transitions. [2022-02-20 23:47:55,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 15 states have internal predecessors, (33), 0 states have call successors, (0), 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:47:55,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 144 transitions. [2022-02-20 23:47:55,311 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 144 transitions. [2022-02-20 23:47:55,436 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:55,438 INFO L225 Difference]: With dead ends: 137 [2022-02-20 23:47:55,438 INFO L226 Difference]: Without dead ends: 137 [2022-02-20 23:47:55,438 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 19 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=114, Invalid=266, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:47:55,438 INFO L933 BasicCegarLoop]: 58 mSDtfsCounter, 513 mSDsluCounter, 225 mSDsCounter, 0 mSdLazyCounter, 293 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 513 SdHoareTripleChecker+Valid, 283 SdHoareTripleChecker+Invalid, 327 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 293 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:55,439 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [513 Valid, 283 Invalid, 327 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 293 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:47:55,439 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-02-20 23:47:55,441 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 65. [2022-02-20 23:47:55,441 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:55,442 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 65 states, 49 states have (on average 1.4081632653061225) internal successors, (69), 64 states have internal predecessors, (69), 0 states have call successors, (0), 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:47:55,442 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 65 states, 49 states have (on average 1.4081632653061225) internal successors, (69), 64 states have internal predecessors, (69), 0 states have call successors, (0), 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:47:55,442 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 65 states, 49 states have (on average 1.4081632653061225) internal successors, (69), 64 states have internal predecessors, (69), 0 states have call successors, (0), 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:47:55,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:55,445 INFO L93 Difference]: Finished difference Result 137 states and 142 transitions. [2022-02-20 23:47:55,445 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 142 transitions. [2022-02-20 23:47:55,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:55,445 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:55,446 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 49 states have (on average 1.4081632653061225) internal successors, (69), 64 states have internal predecessors, (69), 0 states have call successors, (0), 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 137 states. [2022-02-20 23:47:55,446 INFO L87 Difference]: Start difference. First operand has 65 states, 49 states have (on average 1.4081632653061225) internal successors, (69), 64 states have internal predecessors, (69), 0 states have call successors, (0), 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 137 states. [2022-02-20 23:47:55,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:55,449 INFO L93 Difference]: Finished difference Result 137 states and 142 transitions. [2022-02-20 23:47:55,449 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 142 transitions. [2022-02-20 23:47:55,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:55,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:55,449 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:55,449 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:55,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 49 states have (on average 1.4081632653061225) internal successors, (69), 64 states have internal predecessors, (69), 0 states have call successors, (0), 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:47:55,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 69 transitions. [2022-02-20 23:47:55,452 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 69 transitions. Word has length 14 [2022-02-20 23:47:55,452 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:55,453 INFO L470 AbstractCegarLoop]: Abstraction has 65 states and 69 transitions. [2022-02-20 23:47:55,453 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 15 states have internal predecessors, (33), 0 states have call successors, (0), 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:47:55,453 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 69 transitions. [2022-02-20 23:47:55,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 23:47:55,453 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:55,454 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:55,476 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-02-20 23:47:55,671 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:55,671 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:55,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:55,672 INFO L85 PathProgramCache]: Analyzing trace with hash 685561807, now seen corresponding path program 1 times [2022-02-20 23:47:55,672 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:55,672 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [249067988] [2022-02-20 23:47:55,672 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:55,672 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:55,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:55,717 INFO L290 TraceCheckUtils]: 0: Hoare triple {3220#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {3220#true} is VALID [2022-02-20 23:47:55,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {3220#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {3220#true} is VALID [2022-02-20 23:47:55,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {3220#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3220#true} is VALID [2022-02-20 23:47:55,718 INFO L290 TraceCheckUtils]: 3: Hoare triple {3220#true} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {3220#true} is VALID [2022-02-20 23:47:55,718 INFO L290 TraceCheckUtils]: 4: Hoare triple {3220#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {3222#(= (select |#valid| ~b~0.base) (select |#valid| |ULTIMATE.start_main_#t~post9#1.base|))} is VALID [2022-02-20 23:47:55,719 INFO L290 TraceCheckUtils]: 5: Hoare triple {3222#(= (select |#valid| ~b~0.base) (select |#valid| |ULTIMATE.start_main_#t~post9#1.base|))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {3223#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:47:55,719 INFO L290 TraceCheckUtils]: 6: Hoare triple {3223#(= (select |#valid| ~b~0.base) 1)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {3223#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:47:55,719 INFO L290 TraceCheckUtils]: 7: Hoare triple {3223#(= (select |#valid| ~b~0.base) 1)} assume !!(foo_~i~0#1 < ~n~0); {3223#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:47:55,720 INFO L290 TraceCheckUtils]: 8: Hoare triple {3223#(= (select |#valid| ~b~0.base) 1)} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {3223#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:47:55,720 INFO L290 TraceCheckUtils]: 9: Hoare triple {3223#(= (select |#valid| ~b~0.base) 1)} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {3223#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:47:55,720 INFO L290 TraceCheckUtils]: 10: Hoare triple {3223#(= (select |#valid| ~b~0.base) 1)} assume !(foo_~i~0#1 < ~n~0); {3223#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:47:55,721 INFO L290 TraceCheckUtils]: 11: Hoare triple {3223#(= (select |#valid| ~b~0.base) 1)} foo_~i~0#1 := 0; {3223#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:47:55,721 INFO L290 TraceCheckUtils]: 12: Hoare triple {3223#(= (select |#valid| ~b~0.base) 1)} assume !(foo_~i~0#1 < ~n~0 - 1); {3223#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:47:55,721 INFO L290 TraceCheckUtils]: 13: Hoare triple {3223#(= (select |#valid| ~b~0.base) 1)} assume { :end_inline_foo } true; {3223#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:47:55,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {3223#(= (select |#valid| ~b~0.base) 1)} assume !(1 == #valid[~b~0.base]); {3221#false} is VALID [2022-02-20 23:47:55,722 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:47:55,722 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:55,722 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [249067988] [2022-02-20 23:47:55,722 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [249067988] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:55,723 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:47:55,723 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:47:55,723 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [701621953] [2022-02-20 23:47:55,723 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:55,724 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 0 states have call successors, (0), 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 15 [2022-02-20 23:47:55,724 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:55,724 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:55,734 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:55,734 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:47:55,735 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:55,735 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:47:55,735 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:47:55,735 INFO L87 Difference]: Start difference. First operand 65 states and 69 transitions. Second operand has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:55,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:55,834 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-02-20 23:47:55,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:47:55,835 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 0 states have call successors, (0), 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 15 [2022-02-20 23:47:55,835 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:55,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:55,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 51 transitions. [2022-02-20 23:47:55,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:55,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 51 transitions. [2022-02-20 23:47:55,837 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 51 transitions. [2022-02-20 23:47:55,870 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:47:55,871 INFO L225 Difference]: With dead ends: 62 [2022-02-20 23:47:55,871 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 23:47:55,871 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 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:47:55,872 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 18 mSDsluCounter, 33 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:55,872 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 71 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:47:55,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 23:47:55,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 62. [2022-02-20 23:47:55,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:55,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 62 states, 49 states have (on average 1.346938775510204) internal successors, (66), 61 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:47:55,875 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 62 states, 49 states have (on average 1.346938775510204) internal successors, (66), 61 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:47:55,875 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 62 states, 49 states have (on average 1.346938775510204) internal successors, (66), 61 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:47:55,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:55,876 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-02-20 23:47:55,876 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-02-20 23:47:55,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:55,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:55,877 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 49 states have (on average 1.346938775510204) internal successors, (66), 61 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 62 states. [2022-02-20 23:47:55,877 INFO L87 Difference]: Start difference. First operand has 62 states, 49 states have (on average 1.346938775510204) internal successors, (66), 61 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 62 states. [2022-02-20 23:47:55,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:55,878 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-02-20 23:47:55,878 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-02-20 23:47:55,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:55,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:55,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:55,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:55,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 49 states have (on average 1.346938775510204) internal successors, (66), 61 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:47:55,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 66 transitions. [2022-02-20 23:47:55,880 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 66 transitions. Word has length 15 [2022-02-20 23:47:55,880 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:55,880 INFO L470 AbstractCegarLoop]: Abstraction has 62 states and 66 transitions. [2022-02-20 23:47:55,880 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:55,881 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-02-20 23:47:55,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 23:47:55,881 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:55,881 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:55,881 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 23:47:55,881 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:55,882 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:55,882 INFO L85 PathProgramCache]: Analyzing trace with hash 685561808, now seen corresponding path program 1 times [2022-02-20 23:47:55,882 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:55,882 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1226846433] [2022-02-20 23:47:55,882 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:55,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:55,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:55,972 INFO L290 TraceCheckUtils]: 0: Hoare triple {3476#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {3476#true} is VALID [2022-02-20 23:47:55,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {3476#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {3478#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:55,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {3478#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3478#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:55,974 INFO L290 TraceCheckUtils]: 3: Hoare triple {3478#(= (+ (- 1) ~n~0) 0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {3478#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:55,974 INFO L290 TraceCheckUtils]: 4: Hoare triple {3478#(= (+ (- 1) ~n~0) 0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {3479#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4 |ULTIMATE.start_main_#t~post9#1.offset|)) (= (+ (- 1) ~n~0) 0) (<= (+ 4 |ULTIMATE.start_main_#t~post9#1.offset|) ~b~0.offset) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} is VALID [2022-02-20 23:47:55,975 INFO L290 TraceCheckUtils]: 5: Hoare triple {3479#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4 |ULTIMATE.start_main_#t~post9#1.offset|)) (= (+ (- 1) ~n~0) 0) (<= (+ 4 |ULTIMATE.start_main_#t~post9#1.offset|) ~b~0.offset) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} is VALID [2022-02-20 23:47:55,975 INFO L290 TraceCheckUtils]: 6: Hoare triple {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} is VALID [2022-02-20 23:47:55,976 INFO L290 TraceCheckUtils]: 7: Hoare triple {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} assume !!(foo_~i~0#1 < ~n~0); {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} is VALID [2022-02-20 23:47:55,976 INFO L290 TraceCheckUtils]: 8: Hoare triple {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} is VALID [2022-02-20 23:47:55,977 INFO L290 TraceCheckUtils]: 9: Hoare triple {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} is VALID [2022-02-20 23:47:55,977 INFO L290 TraceCheckUtils]: 10: Hoare triple {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} assume !(foo_~i~0#1 < ~n~0); {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} is VALID [2022-02-20 23:47:55,978 INFO L290 TraceCheckUtils]: 11: Hoare triple {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} foo_~i~0#1 := 0; {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} is VALID [2022-02-20 23:47:55,978 INFO L290 TraceCheckUtils]: 12: Hoare triple {3480#(and (<= 4 ~b~0.offset) (= (+ (- 1) ~n~0) 0) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} assume !(foo_~i~0#1 < ~n~0 - 1); {3481#(and (<= 4 ~b~0.offset) (<= ~b~0.offset (select |#length| ~b~0.base)))} is VALID [2022-02-20 23:47:55,979 INFO L290 TraceCheckUtils]: 13: Hoare triple {3481#(and (<= 4 ~b~0.offset) (<= ~b~0.offset (select |#length| ~b~0.base)))} assume { :end_inline_foo } true; {3481#(and (<= 4 ~b~0.offset) (<= ~b~0.offset (select |#length| ~b~0.base)))} is VALID [2022-02-20 23:47:55,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {3481#(and (<= 4 ~b~0.offset) (<= ~b~0.offset (select |#length| ~b~0.base)))} assume !(4 + (-4 + ~b~0.offset) <= #length[~b~0.base] && 0 <= -4 + ~b~0.offset); {3477#false} is VALID [2022-02-20 23:47:55,979 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:47:55,979 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:55,979 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1226846433] [2022-02-20 23:47:55,979 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1226846433] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:55,979 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:47:55,980 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:47:55,980 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1401607375] [2022-02-20 23:47:55,980 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:55,980 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.0) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 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 15 [2022-02-20 23:47:55,981 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:55,981 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 3.0) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:55,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:55,992 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:47:55,992 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:55,992 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:47:55,992 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:47:55,992 INFO L87 Difference]: Start difference. First operand 62 states and 66 transitions. Second operand has 6 states, 5 states have (on average 3.0) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:56,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:56,171 INFO L93 Difference]: Finished difference Result 81 states and 83 transitions. [2022-02-20 23:47:56,171 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:47:56,171 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.0) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 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 15 [2022-02-20 23:47:56,172 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:56,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.0) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:56,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 81 transitions. [2022-02-20 23:47:56,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.0) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:56,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 81 transitions. [2022-02-20 23:47:56,174 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 81 transitions. [2022-02-20 23:47:56,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:56,234 INFO L225 Difference]: With dead ends: 81 [2022-02-20 23:47:56,234 INFO L226 Difference]: Without dead ends: 81 [2022-02-20 23:47:56,234 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:47:56,235 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 58 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 92 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:56,235 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [58 Valid, 91 Invalid, 92 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:47:56,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-02-20 23:47:56,237 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 61. [2022-02-20 23:47:56,237 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:56,237 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 61 states, 50 states have (on average 1.28) internal successors, (64), 60 states have internal predecessors, (64), 0 states have call successors, (0), 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:47:56,238 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 61 states, 50 states have (on average 1.28) internal successors, (64), 60 states have internal predecessors, (64), 0 states have call successors, (0), 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:47:56,238 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 61 states, 50 states have (on average 1.28) internal successors, (64), 60 states have internal predecessors, (64), 0 states have call successors, (0), 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:47:56,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:56,239 INFO L93 Difference]: Finished difference Result 81 states and 83 transitions. [2022-02-20 23:47:56,240 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 83 transitions. [2022-02-20 23:47:56,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:56,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:56,243 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 50 states have (on average 1.28) internal successors, (64), 60 states have internal predecessors, (64), 0 states have call successors, (0), 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:47:56,243 INFO L87 Difference]: Start difference. First operand has 61 states, 50 states have (on average 1.28) internal successors, (64), 60 states have internal predecessors, (64), 0 states have call successors, (0), 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:47:56,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:56,245 INFO L93 Difference]: Finished difference Result 81 states and 83 transitions. [2022-02-20 23:47:56,245 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 83 transitions. [2022-02-20 23:47:56,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:56,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:56,245 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:56,245 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:56,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 50 states have (on average 1.28) internal successors, (64), 60 states have internal predecessors, (64), 0 states have call successors, (0), 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:47:56,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 64 transitions. [2022-02-20 23:47:56,247 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 64 transitions. Word has length 15 [2022-02-20 23:47:56,250 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:56,250 INFO L470 AbstractCegarLoop]: Abstraction has 61 states and 64 transitions. [2022-02-20 23:47:56,250 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 3.0) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 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:47:56,251 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 64 transitions. [2022-02-20 23:47:56,251 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:47:56,251 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:56,251 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:56,251 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 23:47:56,252 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:56,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:56,252 INFO L85 PathProgramCache]: Analyzing trace with hash 381862667, now seen corresponding path program 2 times [2022-02-20 23:47:56,252 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:56,252 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1282231594] [2022-02-20 23:47:56,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:56,253 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:56,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:56,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {3788#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {3788#true} is VALID [2022-02-20 23:47:56,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {3788#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {3790#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:56,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {3790#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3790#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:56,324 INFO L290 TraceCheckUtils]: 3: Hoare triple {3790#(= (+ (- 1) ~n~0) 0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,324 INFO L290 TraceCheckUtils]: 4: Hoare triple {3791#(<= ~n~0 2)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,325 INFO L290 TraceCheckUtils]: 5: Hoare triple {3791#(<= ~n~0 2)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,325 INFO L290 TraceCheckUtils]: 6: Hoare triple {3791#(<= ~n~0 2)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {3791#(<= ~n~0 2)} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,326 INFO L290 TraceCheckUtils]: 8: Hoare triple {3791#(<= ~n~0 2)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {3792#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:56,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 < ~n~0); {3792#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:56,327 INFO L290 TraceCheckUtils]: 10: Hoare triple {3792#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {3792#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:56,328 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:47:56,328 INFO L290 TraceCheckUtils]: 12: Hoare triple {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 < ~n~0); {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:47:56,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:47:56,329 INFO L290 TraceCheckUtils]: 14: Hoare triple {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {3794#(<= ~n~0 |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:47:56,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {3794#(<= ~n~0 |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 < ~n~0); {3789#false} is VALID [2022-02-20 23:47:56,330 INFO L290 TraceCheckUtils]: 16: Hoare triple {3789#false} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {3789#false} is VALID [2022-02-20 23:47:56,330 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:47:56,330 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:56,330 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1282231594] [2022-02-20 23:47:56,331 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1282231594] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:47:56,331 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1909232119] [2022-02-20 23:47:56,331 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:47:56,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:56,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:47:56,332 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:47:56,335 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 23:47:56,387 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:47:56,387 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:47:56,387 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:47:56,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:56,395 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:47:56,552 INFO L290 TraceCheckUtils]: 0: Hoare triple {3788#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {3788#true} is VALID [2022-02-20 23:47:56,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {3788#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {3801#(<= ~n~0 1)} is VALID [2022-02-20 23:47:56,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {3801#(<= ~n~0 1)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3801#(<= ~n~0 1)} is VALID [2022-02-20 23:47:56,553 INFO L290 TraceCheckUtils]: 3: Hoare triple {3801#(<= ~n~0 1)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,553 INFO L290 TraceCheckUtils]: 4: Hoare triple {3791#(<= ~n~0 2)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,554 INFO L290 TraceCheckUtils]: 5: Hoare triple {3791#(<= ~n~0 2)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,554 INFO L290 TraceCheckUtils]: 6: Hoare triple {3791#(<= ~n~0 2)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,554 INFO L290 TraceCheckUtils]: 7: Hoare triple {3791#(<= ~n~0 2)} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {3791#(<= ~n~0 2)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {3823#(and (<= ~n~0 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:56,555 INFO L290 TraceCheckUtils]: 9: Hoare triple {3823#(and (<= ~n~0 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 < ~n~0); {3823#(and (<= ~n~0 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:56,555 INFO L290 TraceCheckUtils]: 10: Hoare triple {3823#(and (<= ~n~0 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {3823#(and (<= ~n~0 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:56,556 INFO L290 TraceCheckUtils]: 11: Hoare triple {3823#(and (<= ~n~0 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {3833#(and (<= ~n~0 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:56,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {3833#(and (<= ~n~0 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 < ~n~0); {3833#(and (<= ~n~0 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:56,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {3833#(and (<= ~n~0 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {3833#(and (<= ~n~0 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:56,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {3833#(and (<= ~n~0 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {3843#(and (<= ~n~0 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:56,558 INFO L290 TraceCheckUtils]: 15: Hoare triple {3843#(and (<= ~n~0 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 < ~n~0); {3789#false} is VALID [2022-02-20 23:47:56,558 INFO L290 TraceCheckUtils]: 16: Hoare triple {3789#false} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {3789#false} is VALID [2022-02-20 23:47:56,558 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 7 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:47:56,559 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:47:56,685 INFO L290 TraceCheckUtils]: 16: Hoare triple {3789#false} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {3789#false} is VALID [2022-02-20 23:47:56,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {3794#(<= ~n~0 |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 < ~n~0); {3789#false} is VALID [2022-02-20 23:47:56,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {3794#(<= ~n~0 |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:47:56,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:47:56,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 < ~n~0); {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:47:56,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {3865#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {3793#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:47:56,687 INFO L290 TraceCheckUtils]: 10: Hoare triple {3865#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {3865#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:47:56,688 INFO L290 TraceCheckUtils]: 9: Hoare triple {3865#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume !!(foo_~i~0#1 < ~n~0); {3865#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:47:56,688 INFO L290 TraceCheckUtils]: 8: Hoare triple {3791#(<= ~n~0 2)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {3865#(<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:47:56,688 INFO L290 TraceCheckUtils]: 7: Hoare triple {3791#(<= ~n~0 2)} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,689 INFO L290 TraceCheckUtils]: 6: Hoare triple {3791#(<= ~n~0 2)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,689 INFO L290 TraceCheckUtils]: 5: Hoare triple {3791#(<= ~n~0 2)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,691 INFO L290 TraceCheckUtils]: 4: Hoare triple {3791#(<= ~n~0 2)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,692 INFO L290 TraceCheckUtils]: 3: Hoare triple {3801#(<= ~n~0 1)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3791#(<= ~n~0 2)} is VALID [2022-02-20 23:47:56,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {3801#(<= ~n~0 1)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3801#(<= ~n~0 1)} is VALID [2022-02-20 23:47:56,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {3788#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {3801#(<= ~n~0 1)} is VALID [2022-02-20 23:47:56,693 INFO L290 TraceCheckUtils]: 0: Hoare triple {3788#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {3788#true} is VALID [2022-02-20 23:47:56,693 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 7 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:47:56,693 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1909232119] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:47:56,693 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:47:56,693 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 12 [2022-02-20 23:47:56,693 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [621192556] [2022-02-20 23:47:56,693 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:47:56,694 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 0 states have call successors, (0), 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:47:56,694 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:56,694 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 0 states have call successors, (0), 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:47:56,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:56,715 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:47:56,715 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:56,716 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:47:56,716 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:47:56,716 INFO L87 Difference]: Start difference. First operand 61 states and 64 transitions. Second operand has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 0 states have call successors, (0), 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:47:57,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:57,106 INFO L93 Difference]: Finished difference Result 124 states and 126 transitions. [2022-02-20 23:47:57,106 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:47:57,106 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 0 states have call successors, (0), 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:47:57,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:57,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 0 states have call successors, (0), 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:47:57,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 122 transitions. [2022-02-20 23:47:57,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 0 states have call successors, (0), 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:47:57,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 122 transitions. [2022-02-20 23:47:57,109 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 122 transitions. [2022-02-20 23:47:57,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:47:57,193 INFO L225 Difference]: With dead ends: 124 [2022-02-20 23:47:57,193 INFO L226 Difference]: Without dead ends: 124 [2022-02-20 23:47:57,193 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 28 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=61, Invalid=121, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:47:57,194 INFO L933 BasicCegarLoop]: 50 mSDtfsCounter, 163 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 163 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 184 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:57,194 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [163 Valid, 222 Invalid, 184 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:47:57,195 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-02-20 23:47:57,196 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 78. [2022-02-20 23:47:57,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:57,197 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 78 states, 67 states have (on average 1.2388059701492538) internal successors, (83), 77 states have internal predecessors, (83), 0 states have call successors, (0), 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:47:57,197 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 78 states, 67 states have (on average 1.2388059701492538) internal successors, (83), 77 states have internal predecessors, (83), 0 states have call successors, (0), 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:47:57,197 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 78 states, 67 states have (on average 1.2388059701492538) internal successors, (83), 77 states have internal predecessors, (83), 0 states have call successors, (0), 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:47:57,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:57,199 INFO L93 Difference]: Finished difference Result 124 states and 126 transitions. [2022-02-20 23:47:57,199 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 126 transitions. [2022-02-20 23:47:57,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:57,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:57,200 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 67 states have (on average 1.2388059701492538) internal successors, (83), 77 states have internal predecessors, (83), 0 states have call successors, (0), 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 124 states. [2022-02-20 23:47:57,200 INFO L87 Difference]: Start difference. First operand has 78 states, 67 states have (on average 1.2388059701492538) internal successors, (83), 77 states have internal predecessors, (83), 0 states have call successors, (0), 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 124 states. [2022-02-20 23:47:57,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:57,202 INFO L93 Difference]: Finished difference Result 124 states and 126 transitions. [2022-02-20 23:47:57,202 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 126 transitions. [2022-02-20 23:47:57,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:57,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:57,203 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:57,203 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:57,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 67 states have (on average 1.2388059701492538) internal successors, (83), 77 states have internal predecessors, (83), 0 states have call successors, (0), 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:47:57,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 83 transitions. [2022-02-20 23:47:57,204 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 83 transitions. Word has length 17 [2022-02-20 23:47:57,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:57,205 INFO L470 AbstractCegarLoop]: Abstraction has 78 states and 83 transitions. [2022-02-20 23:47:57,205 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 0 states have call successors, (0), 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:47:57,205 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 83 transitions. [2022-02-20 23:47:57,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 23:47:57,205 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:57,206 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:57,228 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:47:57,419 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-02-20 23:47:57,419 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr17ASSERT_VIOLATIONMEMORY_FREE === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:57,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:57,420 INFO L85 PathProgramCache]: Analyzing trace with hash 1007405378, now seen corresponding path program 1 times [2022-02-20 23:47:57,420 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:57,420 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [293514147] [2022-02-20 23:47:57,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:57,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:57,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:57,450 INFO L290 TraceCheckUtils]: 0: Hoare triple {4352#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {4352#true} is VALID [2022-02-20 23:47:57,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {4352#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {4352#true} is VALID [2022-02-20 23:47:57,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {4352#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4352#true} is VALID [2022-02-20 23:47:57,451 INFO L290 TraceCheckUtils]: 3: Hoare triple {4352#true} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {4352#true} is VALID [2022-02-20 23:47:57,452 INFO L290 TraceCheckUtils]: 4: Hoare triple {4352#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} assume !!(foo_~i~0#1 < ~n~0); {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,454 INFO L290 TraceCheckUtils]: 10: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} assume !(foo_~i~0#1 < ~n~0); {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,454 INFO L290 TraceCheckUtils]: 11: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} foo_~i~0#1 := 0; {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} assume !(foo_~i~0#1 < ~n~0 - 1); {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} assume { :end_inline_foo } true; {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,455 INFO L290 TraceCheckUtils]: 14: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} SUMMARY for call main_#t~mem10#1 := read~int(~b~0.base, -4 + ~b~0.offset, 4); srcloc: L544 {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,456 INFO L290 TraceCheckUtils]: 15: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} SUMMARY for call main_#t~mem11#1 := read~int(~b~0.base, ~b~0.offset + 4 * (~n~0 - 2), 4); srcloc: L544-1 {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,456 INFO L290 TraceCheckUtils]: 16: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} assume !(0 != main_#t~mem10#1 - main_#t~mem11#1);havoc main_#t~mem10#1;havoc main_#t~mem11#1; {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,457 INFO L290 TraceCheckUtils]: 17: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} assume 0 == ~a~0.offset; {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} is VALID [2022-02-20 23:47:57,457 INFO L290 TraceCheckUtils]: 18: Hoare triple {4354#(not (<= |#StackHeapBarrier| ~a~0.base))} assume !(~a~0.base < #StackHeapBarrier); {4353#false} is VALID [2022-02-20 23:47:57,457 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:47:57,457 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:57,457 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [293514147] [2022-02-20 23:47:57,458 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [293514147] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:57,458 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:47:57,458 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:47:57,458 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1116081168] [2022-02-20 23:47:57,458 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:57,459 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 9.5) internal successors, (19), 3 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 19 [2022-02-20 23:47:57,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:57,459 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 9.5) internal successors, (19), 3 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:47:57,483 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:47:57,483 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:47:57,483 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:57,484 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:47:57,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:47:57,484 INFO L87 Difference]: Start difference. First operand 78 states and 83 transitions. Second operand has 3 states, 2 states have (on average 9.5) internal successors, (19), 3 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:47:57,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:57,515 INFO L93 Difference]: Finished difference Result 76 states and 81 transitions. [2022-02-20 23:47:57,515 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:47:57,516 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 9.5) internal successors, (19), 3 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 19 [2022-02-20 23:47:57,516 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:57,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 9.5) internal successors, (19), 3 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:47:57,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2022-02-20 23:47:57,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 9.5) internal successors, (19), 3 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:47:57,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2022-02-20 23:47:57,517 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 43 transitions. [2022-02-20 23:47:57,551 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:47:57,552 INFO L225 Difference]: With dead ends: 76 [2022-02-20 23:47:57,552 INFO L226 Difference]: Without dead ends: 76 [2022-02-20 23:47:57,553 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 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:47:57,553 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 26 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 32 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:57,554 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 32 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:47:57,554 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-02-20 23:47:57,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2022-02-20 23:47:57,555 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:57,556 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 76 states, 67 states have (on average 1.208955223880597) internal successors, (81), 75 states have internal predecessors, (81), 0 states have call successors, (0), 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:47:57,556 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 76 states, 67 states have (on average 1.208955223880597) internal successors, (81), 75 states have internal predecessors, (81), 0 states have call successors, (0), 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:47:57,556 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 76 states, 67 states have (on average 1.208955223880597) internal successors, (81), 75 states have internal predecessors, (81), 0 states have call successors, (0), 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:47:57,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:57,557 INFO L93 Difference]: Finished difference Result 76 states and 81 transitions. [2022-02-20 23:47:57,558 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 81 transitions. [2022-02-20 23:47:57,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:57,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:57,558 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 67 states have (on average 1.208955223880597) internal successors, (81), 75 states have internal predecessors, (81), 0 states have call successors, (0), 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 76 states. [2022-02-20 23:47:57,559 INFO L87 Difference]: Start difference. First operand has 76 states, 67 states have (on average 1.208955223880597) internal successors, (81), 75 states have internal predecessors, (81), 0 states have call successors, (0), 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 76 states. [2022-02-20 23:47:57,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:57,560 INFO L93 Difference]: Finished difference Result 76 states and 81 transitions. [2022-02-20 23:47:57,560 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 81 transitions. [2022-02-20 23:47:57,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:57,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:57,560 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:57,560 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:57,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 67 states have (on average 1.208955223880597) internal successors, (81), 75 states have internal predecessors, (81), 0 states have call successors, (0), 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:47:57,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 81 transitions. [2022-02-20 23:47:57,562 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 81 transitions. Word has length 19 [2022-02-20 23:47:57,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:57,562 INFO L470 AbstractCegarLoop]: Abstraction has 76 states and 81 transitions. [2022-02-20 23:47:57,562 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 9.5) internal successors, (19), 3 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:47:57,562 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 81 transitions. [2022-02-20 23:47:57,563 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 23:47:57,563 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:57,563 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:57,563 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-02-20 23:47:57,563 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:57,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:57,564 INFO L85 PathProgramCache]: Analyzing trace with hash 1897750454, now seen corresponding path program 1 times [2022-02-20 23:47:57,564 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:57,564 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1233483686] [2022-02-20 23:47:57,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:57,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:57,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:57,669 INFO L290 TraceCheckUtils]: 0: Hoare triple {4661#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {4661#true} is VALID [2022-02-20 23:47:57,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {4661#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {4663#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:57,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {4663#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4663#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:57,673 INFO L290 TraceCheckUtils]: 3: Hoare triple {4663#(= (+ (- 1) ~n~0) 0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4664#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:57,674 INFO L290 TraceCheckUtils]: 4: Hoare triple {4664#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4664#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:57,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {4664#(<= 2 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {4664#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:57,675 INFO L290 TraceCheckUtils]: 6: Hoare triple {4664#(<= 2 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {4665#(and (<= (+ ~b~0.offset 4) (+ (* ~n~0 4) |ULTIMATE.start_main_#t~post9#1.offset|)) (<= (+ 4 |ULTIMATE.start_main_#t~post9#1.offset|) ~b~0.offset) (= |ULTIMATE.start_main_#t~post9#1.offset| 0) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,676 INFO L290 TraceCheckUtils]: 7: Hoare triple {4665#(and (<= (+ ~b~0.offset 4) (+ (* ~n~0 4) |ULTIMATE.start_main_#t~post9#1.offset|)) (<= (+ 4 |ULTIMATE.start_main_#t~post9#1.offset|) ~b~0.offset) (= |ULTIMATE.start_main_#t~post9#1.offset| 0) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} assume !!(foo_~i~0#1 < ~n~0); {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,678 INFO L290 TraceCheckUtils]: 10: Hoare triple {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,678 INFO L290 TraceCheckUtils]: 11: Hoare triple {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,678 INFO L290 TraceCheckUtils]: 12: Hoare triple {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} assume !!(foo_~i~0#1 < ~n~0); {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,679 INFO L290 TraceCheckUtils]: 13: Hoare triple {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,680 INFO L290 TraceCheckUtils]: 14: Hoare triple {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,680 INFO L290 TraceCheckUtils]: 15: Hoare triple {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} assume !(foo_~i~0#1 < ~n~0); {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,682 INFO L290 TraceCheckUtils]: 16: Hoare triple {4666#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} foo_~i~0#1 := 0; {4667#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} is VALID [2022-02-20 23:47:57,683 INFO L290 TraceCheckUtils]: 17: Hoare triple {4667#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (* ~n~0 4)) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* ~n~0 4) (* (- 1) (select |#length| ~b~0.base))) 0))} assume !!(foo_~i~0#1 < ~n~0 - 1); {4668#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (select |#length| ~b~0.base)) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:57,684 INFO L290 TraceCheckUtils]: 18: Hoare triple {4668#(and (<= 4 ~b~0.offset) (<= (+ ~b~0.offset 4) (select |#length| ~b~0.base)) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !(4 + (~b~0.offset + 4 * foo_~i~0#1) <= #length[~b~0.base] && 0 <= ~b~0.offset + 4 * foo_~i~0#1); {4662#false} is VALID [2022-02-20 23:47:57,684 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 23:47:57,684 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:57,684 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1233483686] [2022-02-20 23:47:57,684 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1233483686] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:47:57,684 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1451717175] [2022-02-20 23:47:57,684 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:57,684 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:57,685 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:47:57,686 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:47:57,686 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 23:47:57,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:57,736 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:47:57,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:57,750 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:47:57,896 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:47:57,897 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 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:47:58,038 INFO L290 TraceCheckUtils]: 0: Hoare triple {4661#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {4661#true} is VALID [2022-02-20 23:47:58,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {4661#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {4675#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:58,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {4675#(<= 1 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4675#(<= 1 ~n~0)} is VALID [2022-02-20 23:47:58,039 INFO L290 TraceCheckUtils]: 3: Hoare triple {4675#(<= 1 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4664#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:58,039 INFO L290 TraceCheckUtils]: 4: Hoare triple {4664#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4664#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:58,040 INFO L290 TraceCheckUtils]: 5: Hoare triple {4664#(<= 2 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {4664#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:58,040 INFO L290 TraceCheckUtils]: 6: Hoare triple {4664#(<= 2 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} assume !!(foo_~i~0#1 < ~n~0); {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,042 INFO L290 TraceCheckUtils]: 10: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,043 INFO L290 TraceCheckUtils]: 11: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,043 INFO L290 TraceCheckUtils]: 12: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} assume !!(foo_~i~0#1 < ~n~0); {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} assume !(foo_~i~0#1 < ~n~0); {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} is VALID [2022-02-20 23:47:58,045 INFO L290 TraceCheckUtils]: 16: Hoare triple {4691#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4))} foo_~i~0#1 := 0; {4722#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:58,046 INFO L290 TraceCheckUtils]: 17: Hoare triple {4722#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 < ~n~0 - 1); {4722#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:47:58,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {4722#(and (<= 2 (div (select |#length| ~b~0.base) 4)) (= ~b~0.offset 4) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !(4 + (~b~0.offset + 4 * foo_~i~0#1) <= #length[~b~0.base] && 0 <= ~b~0.offset + 4 * foo_~i~0#1); {4662#false} is VALID [2022-02-20 23:47:58,046 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 23:47:58,046 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:47:58,047 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1451717175] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:47:58,047 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:47:58,047 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 10 [2022-02-20 23:47:58,047 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1324611108] [2022-02-20 23:47:58,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:47:58,047 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 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 19 [2022-02-20 23:47:58,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:47:58,048 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 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:47:58,064 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:47:58,065 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:47:58,065 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:47:58,065 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:47:58,065 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:47:58,065 INFO L87 Difference]: Start difference. First operand 76 states and 81 transitions. Second operand has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 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:47:58,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:58,317 INFO L93 Difference]: Finished difference Result 94 states and 97 transitions. [2022-02-20 23:47:58,317 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:47:58,317 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 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 19 [2022-02-20 23:47:58,317 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:47:58,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 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:47:58,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2022-02-20 23:47:58,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 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:47:58,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2022-02-20 23:47:58,319 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 80 transitions. [2022-02-20 23:47:58,393 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:47:58,394 INFO L225 Difference]: With dead ends: 94 [2022-02-20 23:47:58,394 INFO L226 Difference]: Without dead ends: 94 [2022-02-20 23:47:58,395 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:47:58,395 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 107 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 106 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 107 SdHoareTripleChecker+Valid, 104 SdHoareTripleChecker+Invalid, 114 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 106 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:47:58,396 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [107 Valid, 104 Invalid, 114 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 106 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:47:58,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-02-20 23:47:58,397 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 81. [2022-02-20 23:47:58,397 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:47:58,398 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 81 states, 73 states have (on average 1.178082191780822) internal successors, (86), 80 states have internal predecessors, (86), 0 states have call successors, (0), 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:47:58,398 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 81 states, 73 states have (on average 1.178082191780822) internal successors, (86), 80 states have internal predecessors, (86), 0 states have call successors, (0), 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:47:58,398 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 81 states, 73 states have (on average 1.178082191780822) internal successors, (86), 80 states have internal predecessors, (86), 0 states have call successors, (0), 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:47:58,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:58,400 INFO L93 Difference]: Finished difference Result 94 states and 97 transitions. [2022-02-20 23:47:58,400 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 97 transitions. [2022-02-20 23:47:58,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:58,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:58,401 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 73 states have (on average 1.178082191780822) internal successors, (86), 80 states have internal predecessors, (86), 0 states have call successors, (0), 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 94 states. [2022-02-20 23:47:58,401 INFO L87 Difference]: Start difference. First operand has 81 states, 73 states have (on average 1.178082191780822) internal successors, (86), 80 states have internal predecessors, (86), 0 states have call successors, (0), 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 94 states. [2022-02-20 23:47:58,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:47:58,412 INFO L93 Difference]: Finished difference Result 94 states and 97 transitions. [2022-02-20 23:47:58,412 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 97 transitions. [2022-02-20 23:47:58,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:47:58,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:47:58,413 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:47:58,413 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:47:58,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 73 states have (on average 1.178082191780822) internal successors, (86), 80 states have internal predecessors, (86), 0 states have call successors, (0), 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:47:58,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 86 transitions. [2022-02-20 23:47:58,414 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 86 transitions. Word has length 19 [2022-02-20 23:47:58,415 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:47:58,415 INFO L470 AbstractCegarLoop]: Abstraction has 81 states and 86 transitions. [2022-02-20 23:47:58,415 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 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:47:58,415 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 86 transitions. [2022-02-20 23:47:58,415 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 23:47:58,416 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:47:58,416 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:47:58,439 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 23:47:58,635 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:58,635 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:47:58,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:47:58,636 INFO L85 PathProgramCache]: Analyzing trace with hash -951175098, now seen corresponding path program 3 times [2022-02-20 23:47:58,636 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:47:58,636 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [810288145] [2022-02-20 23:47:58,636 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:47:58,636 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:47:58,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:58,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {5095#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {5095#true} is VALID [2022-02-20 23:47:58,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {5095#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {5097#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:58,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {5097#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5097#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:47:58,748 INFO L290 TraceCheckUtils]: 3: Hoare triple {5097#(= (+ (- 1) ~n~0) 0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {5098#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:58,749 INFO L290 TraceCheckUtils]: 4: Hoare triple {5098#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5098#(<= 2 ~n~0)} is VALID [2022-02-20 23:47:58,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {5098#(<= 2 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {5099#(<= 3 ~n~0)} is VALID [2022-02-20 23:47:58,750 INFO L290 TraceCheckUtils]: 6: Hoare triple {5099#(<= 3 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5099#(<= 3 ~n~0)} is VALID [2022-02-20 23:47:58,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {5099#(<= 3 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {5099#(<= 3 ~n~0)} is VALID [2022-02-20 23:47:58,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {5099#(<= 3 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {5100#(and (= ~a~0.offset 0) (<= 12 (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:47:58,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {5100#(and (= ~a~0.offset 0) (<= 12 (select |#length| ~a~0.base)))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {5100#(and (= ~a~0.offset 0) (<= 12 (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:47:58,752 INFO L290 TraceCheckUtils]: 10: Hoare triple {5100#(and (= ~a~0.offset 0) (<= 12 (select |#length| ~a~0.base)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5101#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 12 (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:47:58,753 INFO L290 TraceCheckUtils]: 11: Hoare triple {5101#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 12 (select |#length| ~a~0.base)))} assume !!(foo_~i~0#1 < ~n~0); {5101#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 12 (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:47:58,753 INFO L290 TraceCheckUtils]: 12: Hoare triple {5101#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 12 (select |#length| ~a~0.base)))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {5101#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 12 (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:47:58,754 INFO L290 TraceCheckUtils]: 13: Hoare triple {5101#(and (= ~a~0.offset 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 12 (select |#length| ~a~0.base)))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {5102#(and (= ~a~0.offset 0) (<= (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:58,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {5102#(and (= ~a~0.offset 0) (<= (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 < ~n~0); {5102#(and (= ~a~0.offset 0) (<= (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:58,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {5102#(and (= ~a~0.offset 0) (<= (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {5102#(and (= ~a~0.offset 0) (<= (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:58,756 INFO L290 TraceCheckUtils]: 16: Hoare triple {5102#(and (= ~a~0.offset 0) (<= (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {5103#(and (<= (+ 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (= ~a~0.offset 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:58,756 INFO L290 TraceCheckUtils]: 17: Hoare triple {5103#(and (<= (+ 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (= ~a~0.offset 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 < ~n~0); {5103#(and (<= (+ 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (= ~a~0.offset 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:47:58,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {5103#(and (<= (+ 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (= ~a~0.offset 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {5096#false} is VALID [2022-02-20 23:47:58,757 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:47:58,757 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:47:58,757 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [810288145] [2022-02-20 23:47:58,757 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [810288145] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:47:58,757 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [88081780] [2022-02-20 23:47:58,758 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:47:58,758 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:47:58,758 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:47:58,760 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:47:58,761 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 23:47:58,810 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-02-20 23:47:58,811 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:47:58,811 INFO L263 TraceCheckSpWp]: Trace formula consists of 94 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:47:58,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:47:58,823 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:47:58,886 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:47:58,887 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 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:47:58,896 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 10 treesize of output 8 [2022-02-20 23:47:59,057 INFO L290 TraceCheckUtils]: 0: Hoare triple {5095#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {5095#true} is VALID [2022-02-20 23:47:59,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {5095#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {5095#true} is VALID [2022-02-20 23:47:59,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {5095#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5095#true} is VALID [2022-02-20 23:47:59,058 INFO L290 TraceCheckUtils]: 3: Hoare triple {5095#true} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {5095#true} is VALID [2022-02-20 23:47:59,058 INFO L290 TraceCheckUtils]: 4: Hoare triple {5095#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5095#true} is VALID [2022-02-20 23:47:59,058 INFO L290 TraceCheckUtils]: 5: Hoare triple {5095#true} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {5095#true} is VALID [2022-02-20 23:47:59,058 INFO L290 TraceCheckUtils]: 6: Hoare triple {5095#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5095#true} is VALID [2022-02-20 23:47:59,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {5095#true} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {5095#true} is VALID [2022-02-20 23:47:59,059 INFO L290 TraceCheckUtils]: 8: Hoare triple {5095#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} is VALID [2022-02-20 23:47:59,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} is VALID [2022-02-20 23:47:59,061 INFO L290 TraceCheckUtils]: 10: Hoare triple {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} is VALID [2022-02-20 23:47:59,061 INFO L290 TraceCheckUtils]: 11: Hoare triple {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} assume !!(foo_~i~0#1 < ~n~0); {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} is VALID [2022-02-20 23:47:59,062 INFO L290 TraceCheckUtils]: 12: Hoare triple {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} is VALID [2022-02-20 23:47:59,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} is VALID [2022-02-20 23:47:59,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} assume !!(foo_~i~0#1 < ~n~0); {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} is VALID [2022-02-20 23:47:59,063 INFO L290 TraceCheckUtils]: 15: Hoare triple {5131#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {5153#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4))))} is VALID [2022-02-20 23:47:59,063 INFO L290 TraceCheckUtils]: 16: Hoare triple {5153#(and (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4))))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {5157#(and (<= (+ (div ~a~0.offset (- 4)) 1) |ULTIMATE.start_foo_~i~0#1|) (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} is VALID [2022-02-20 23:47:59,064 INFO L290 TraceCheckUtils]: 17: Hoare triple {5157#(and (<= (+ (div ~a~0.offset (- 4)) 1) |ULTIMATE.start_foo_~i~0#1|) (<= (* ~n~0 4) (select |#length| ~a~0.base)) (<= ~a~0.offset 0))} assume !!(foo_~i~0#1 < ~n~0); {5161#(and (<= (+ (div ~a~0.offset (- 4)) 1) |ULTIMATE.start_foo_~i~0#1|) (<= ~a~0.offset 0) (< |ULTIMATE.start_foo_~i~0#1| (div (select |#length| ~a~0.base) 4)))} is VALID [2022-02-20 23:47:59,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {5161#(and (<= (+ (div ~a~0.offset (- 4)) 1) |ULTIMATE.start_foo_~i~0#1|) (<= ~a~0.offset 0) (< |ULTIMATE.start_foo_~i~0#1| (div (select |#length| ~a~0.base) 4)))} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {5096#false} is VALID [2022-02-20 23:47:59,065 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 3 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:47:59,065 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:00,627 INFO L290 TraceCheckUtils]: 18: Hoare triple {5165#(and (<= (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4))))} assume !(4 + (~a~0.offset + 4 * foo_~i~0#1) <= #length[~a~0.base] && 0 <= ~a~0.offset + 4 * foo_~i~0#1); {5096#false} is VALID [2022-02-20 23:48:00,627 INFO L290 TraceCheckUtils]: 17: Hoare triple {5169#(or (not (< |ULTIMATE.start_foo_~i~0#1| ~n~0)) (and (<= (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4)))))} assume !!(foo_~i~0#1 < ~n~0); {5165#(and (<= (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4))))} is VALID [2022-02-20 23:48:00,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {5173#(and (or (<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1))) (or (<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= (div ~a~0.offset (- 4)) (+ |ULTIMATE.start_foo_~i~0#1| 1))))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {5169#(or (not (< |ULTIMATE.start_foo_~i~0#1| ~n~0)) (and (<= (+ ~a~0.offset 4 (* |ULTIMATE.start_foo_~i~0#1| 4)) (select |#length| ~a~0.base)) (<= 0 (+ ~a~0.offset (* |ULTIMATE.start_foo_~i~0#1| 4)))))} is VALID [2022-02-20 23:48:00,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {5173#(and (or (<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1))) (or (<= ~n~0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= (div ~a~0.offset (- 4)) (+ |ULTIMATE.start_foo_~i~0#1| 1))))} is VALID [2022-02-20 23:48:00,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} assume !!(foo_~i~0#1 < ~n~0); {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} is VALID [2022-02-20 23:48:00,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} is VALID [2022-02-20 23:48:00,630 INFO L290 TraceCheckUtils]: 12: Hoare triple {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} is VALID [2022-02-20 23:48:00,631 INFO L290 TraceCheckUtils]: 11: Hoare triple {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} assume !!(foo_~i~0#1 < ~n~0); {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} is VALID [2022-02-20 23:48:00,631 INFO L290 TraceCheckUtils]: 10: Hoare triple {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} is VALID [2022-02-20 23:48:00,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} is VALID [2022-02-20 23:48:00,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {5095#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {5177#(or (<= ~n~0 (+ (div ~a~0.offset (- 4)) 1)) (<= ~n~0 (+ (div (+ (- 4) (select |#length| ~a~0.base) (* (- 1) ~a~0.offset)) 4) 1)))} is VALID [2022-02-20 23:48:00,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {5095#true} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {5095#true} is VALID [2022-02-20 23:48:00,633 INFO L290 TraceCheckUtils]: 6: Hoare triple {5095#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5095#true} is VALID [2022-02-20 23:48:00,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {5095#true} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {5095#true} is VALID [2022-02-20 23:48:00,633 INFO L290 TraceCheckUtils]: 4: Hoare triple {5095#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5095#true} is VALID [2022-02-20 23:48:00,633 INFO L290 TraceCheckUtils]: 3: Hoare triple {5095#true} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {5095#true} is VALID [2022-02-20 23:48:00,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {5095#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5095#true} is VALID [2022-02-20 23:48:00,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {5095#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {5095#true} is VALID [2022-02-20 23:48:00,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {5095#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {5095#true} is VALID [2022-02-20 23:48:00,634 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:48:00,634 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [88081780] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:00,635 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:00,635 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5, 5] total 16 [2022-02-20 23:48:00,635 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [135944028] [2022-02-20 23:48:00,635 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:00,635 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.6875) internal successors, (43), 17 states have internal predecessors, (43), 0 states have call successors, (0), 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:48:00,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:00,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.6875) internal successors, (43), 17 states have internal predecessors, (43), 0 states have call successors, (0), 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:48:00,666 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:48:00,666 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 23:48:00,667 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:00,667 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 23:48:00,667 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:48:00,667 INFO L87 Difference]: Start difference. First operand 81 states and 86 transitions. Second operand has 17 states, 16 states have (on average 2.6875) internal successors, (43), 17 states have internal predecessors, (43), 0 states have call successors, (0), 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:48:02,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:02,055 INFO L93 Difference]: Finished difference Result 144 states and 147 transitions. [2022-02-20 23:48:02,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-02-20 23:48:02,055 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.6875) internal successors, (43), 17 states have internal predecessors, (43), 0 states have call successors, (0), 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:48:02,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:02,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.6875) internal successors, (43), 17 states have internal predecessors, (43), 0 states have call successors, (0), 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:48:02,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 149 transitions. [2022-02-20 23:48:02,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.6875) internal successors, (43), 17 states have internal predecessors, (43), 0 states have call successors, (0), 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:48:02,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 149 transitions. [2022-02-20 23:48:02,058 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 149 transitions. [2022-02-20 23:48:02,188 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:02,189 INFO L225 Difference]: With dead ends: 144 [2022-02-20 23:48:02,189 INFO L226 Difference]: Without dead ends: 144 [2022-02-20 23:48:02,189 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 176 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=267, Invalid=789, Unknown=0, NotChecked=0, Total=1056 [2022-02-20 23:48:02,190 INFO L933 BasicCegarLoop]: 46 mSDtfsCounter, 518 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 436 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 518 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 490 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 436 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:02,190 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [518 Valid, 233 Invalid, 490 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 436 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:48:02,191 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-02-20 23:48:02,192 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 79. [2022-02-20 23:48:02,192 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:02,193 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 79 states, 72 states have (on average 1.1666666666666667) internal successors, (84), 78 states have internal predecessors, (84), 0 states have call successors, (0), 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:48:02,193 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 79 states, 72 states have (on average 1.1666666666666667) internal successors, (84), 78 states have internal predecessors, (84), 0 states have call successors, (0), 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:48:02,193 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 79 states, 72 states have (on average 1.1666666666666667) internal successors, (84), 78 states have internal predecessors, (84), 0 states have call successors, (0), 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:48:02,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:02,195 INFO L93 Difference]: Finished difference Result 144 states and 147 transitions. [2022-02-20 23:48:02,195 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 147 transitions. [2022-02-20 23:48:02,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:02,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:02,196 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 72 states have (on average 1.1666666666666667) internal successors, (84), 78 states have internal predecessors, (84), 0 states have call successors, (0), 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 144 states. [2022-02-20 23:48:02,196 INFO L87 Difference]: Start difference. First operand has 79 states, 72 states have (on average 1.1666666666666667) internal successors, (84), 78 states have internal predecessors, (84), 0 states have call successors, (0), 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 144 states. [2022-02-20 23:48:02,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:02,198 INFO L93 Difference]: Finished difference Result 144 states and 147 transitions. [2022-02-20 23:48:02,199 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 147 transitions. [2022-02-20 23:48:02,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:02,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:02,199 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:02,199 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:02,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 72 states have (on average 1.1666666666666667) internal successors, (84), 78 states have internal predecessors, (84), 0 states have call successors, (0), 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:48:02,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 84 transitions. [2022-02-20 23:48:02,201 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 84 transitions. Word has length 19 [2022-02-20 23:48:02,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:02,201 INFO L470 AbstractCegarLoop]: Abstraction has 79 states and 84 transitions. [2022-02-20 23:48:02,201 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.6875) internal successors, (43), 17 states have internal predecessors, (43), 0 states have call successors, (0), 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:48:02,201 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 84 transitions. [2022-02-20 23:48:02,202 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 23:48:02,202 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:02,202 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:48:02,223 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 23:48:02,411 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:02,412 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr19ASSERT_VIOLATIONMEMORY_FREE === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:02,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:02,412 INFO L85 PathProgramCache]: Analyzing trace with hash 1748930276, now seen corresponding path program 1 times [2022-02-20 23:48:02,412 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:02,412 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [93761161] [2022-02-20 23:48:02,412 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:02,412 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:02,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:02,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {5765#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {5765#true} is VALID [2022-02-20 23:48:02,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {5765#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {5765#true} is VALID [2022-02-20 23:48:02,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {5765#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5765#true} is VALID [2022-02-20 23:48:02,468 INFO L290 TraceCheckUtils]: 3: Hoare triple {5765#true} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {5765#true} is VALID [2022-02-20 23:48:02,468 INFO L290 TraceCheckUtils]: 4: Hoare triple {5765#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {5767#(and (<= ~b~0.offset 4) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} is VALID [2022-02-20 23:48:02,474 INFO L290 TraceCheckUtils]: 5: Hoare triple {5767#(and (<= ~b~0.offset 4) (= |ULTIMATE.start_main_#t~post9#1.offset| 0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {5768#(<= ~b~0.offset 4)} is VALID [2022-02-20 23:48:02,474 INFO L290 TraceCheckUtils]: 6: Hoare triple {5768#(<= ~b~0.offset 4)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5768#(<= ~b~0.offset 4)} is VALID [2022-02-20 23:48:02,474 INFO L290 TraceCheckUtils]: 7: Hoare triple {5768#(<= ~b~0.offset 4)} assume !!(foo_~i~0#1 < ~n~0); {5768#(<= ~b~0.offset 4)} is VALID [2022-02-20 23:48:02,475 INFO L290 TraceCheckUtils]: 8: Hoare triple {5768#(<= ~b~0.offset 4)} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {5768#(<= ~b~0.offset 4)} is VALID [2022-02-20 23:48:02,475 INFO L290 TraceCheckUtils]: 9: Hoare triple {5768#(<= ~b~0.offset 4)} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {5768#(<= ~b~0.offset 4)} is VALID [2022-02-20 23:48:02,476 INFO L290 TraceCheckUtils]: 10: Hoare triple {5768#(<= ~b~0.offset 4)} assume !(foo_~i~0#1 < ~n~0); {5768#(<= ~b~0.offset 4)} is VALID [2022-02-20 23:48:02,476 INFO L290 TraceCheckUtils]: 11: Hoare triple {5768#(<= ~b~0.offset 4)} foo_~i~0#1 := 0; {5768#(<= ~b~0.offset 4)} is VALID [2022-02-20 23:48:02,476 INFO L290 TraceCheckUtils]: 12: Hoare triple {5768#(<= ~b~0.offset 4)} assume !(foo_~i~0#1 < ~n~0 - 1); {5768#(<= ~b~0.offset 4)} is VALID [2022-02-20 23:48:02,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {5768#(<= ~b~0.offset 4)} assume { :end_inline_foo } true; {5768#(<= ~b~0.offset 4)} is VALID [2022-02-20 23:48:02,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {5768#(<= ~b~0.offset 4)} SUMMARY for call main_#t~mem10#1 := read~int(~b~0.base, -4 + ~b~0.offset, 4); srcloc: L544 {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} is VALID [2022-02-20 23:48:02,478 INFO L290 TraceCheckUtils]: 15: Hoare triple {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} SUMMARY for call main_#t~mem11#1 := read~int(~b~0.base, ~b~0.offset + 4 * (~n~0 - 2), 4); srcloc: L544-1 {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} is VALID [2022-02-20 23:48:02,478 INFO L290 TraceCheckUtils]: 16: Hoare triple {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} assume !(0 != main_#t~mem10#1 - main_#t~mem11#1);havoc main_#t~mem10#1;havoc main_#t~mem11#1; {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} is VALID [2022-02-20 23:48:02,479 INFO L290 TraceCheckUtils]: 17: Hoare triple {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} assume 0 == ~a~0.offset; {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} is VALID [2022-02-20 23:48:02,479 INFO L290 TraceCheckUtils]: 18: Hoare triple {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} assume ~a~0.base < #StackHeapBarrier; {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} is VALID [2022-02-20 23:48:02,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} assume 0 == ~a~0.base || 1 == #valid[~a~0.base];call ULTIMATE.dealloc(~a~0.base, ~a~0.offset); {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} is VALID [2022-02-20 23:48:02,480 INFO L290 TraceCheckUtils]: 20: Hoare triple {5769#(and (< 3 ~b~0.offset) (<= ~b~0.offset 4))} assume !(0 == ~b~0.offset - 4); {5766#false} is VALID [2022-02-20 23:48:02,480 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:48:02,481 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:02,481 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [93761161] [2022-02-20 23:48:02,481 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [93761161] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:02,481 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:02,481 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:48:02,481 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [819098877] [2022-02-20 23:48:02,481 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:02,482 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.25) internal successors, (21), 5 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:48:02,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:02,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.25) internal successors, (21), 5 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:48:02,496 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:48:02,497 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:48:02,497 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:02,497 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:48:02,497 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:02,498 INFO L87 Difference]: Start difference. First operand 79 states and 84 transitions. Second operand has 5 states, 4 states have (on average 5.25) internal successors, (21), 5 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:48:02,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:02,577 INFO L93 Difference]: Finished difference Result 78 states and 83 transitions. [2022-02-20 23:48:02,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:48:02,577 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.25) internal successors, (21), 5 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:48:02,577 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:02,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.25) internal successors, (21), 5 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:48:02,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-02-20 23:48:02,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.25) internal successors, (21), 5 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:48:02,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-02-20 23:48:02,578 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 39 transitions. [2022-02-20 23:48:02,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:02,604 INFO L225 Difference]: With dead ends: 78 [2022-02-20 23:48:02,605 INFO L226 Difference]: Without dead ends: 78 [2022-02-20 23:48:02,605 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:48:02,605 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 54 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:02,605 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 60 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:48:02,606 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-02-20 23:48:02,607 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 73. [2022-02-20 23:48:02,607 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:02,607 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 73 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:02,607 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 73 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:02,607 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 73 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:02,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:02,609 INFO L93 Difference]: Finished difference Result 78 states and 83 transitions. [2022-02-20 23:48:02,609 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 83 transitions. [2022-02-20 23:48:02,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:02,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:02,609 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:02,609 INFO L87 Difference]: Start difference. First operand has 73 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:02,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:02,610 INFO L93 Difference]: Finished difference Result 78 states and 83 transitions. [2022-02-20 23:48:02,610 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 83 transitions. [2022-02-20 23:48:02,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:02,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:02,611 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:02,611 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:02,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:02,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 77 transitions. [2022-02-20 23:48:02,612 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 77 transitions. Word has length 21 [2022-02-20 23:48:02,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:02,612 INFO L470 AbstractCegarLoop]: Abstraction has 73 states and 77 transitions. [2022-02-20 23:48:02,613 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.25) internal successors, (21), 5 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:48:02,613 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 77 transitions. [2022-02-20 23:48:02,613 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 23:48:02,613 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:02,613 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:48:02,614 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2022-02-20 23:48:02,614 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr13ASSERT_VIOLATIONMEMORY_FREE === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:02,614 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:02,614 INFO L85 PathProgramCache]: Analyzing trace with hash 1735570006, now seen corresponding path program 1 times [2022-02-20 23:48:02,614 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:02,615 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [203088838] [2022-02-20 23:48:02,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:02,615 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:02,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:02,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {6081#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {6081#true} is VALID [2022-02-20 23:48:02,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {6081#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {6083#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:48:02,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {6083#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6083#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:48:02,744 INFO L290 TraceCheckUtils]: 3: Hoare triple {6083#(= (+ (- 1) ~n~0) 0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {6083#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:48:02,745 INFO L290 TraceCheckUtils]: 4: Hoare triple {6083#(= (+ (- 1) ~n~0) 0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {6084#(and (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))) (or (and (<= ~b~0.offset 4) (= |ULTIMATE.start_main_#t~post9#1.offset| 0)) (= (+ ~b~0.offset (- 4)) 0)))} is VALID [2022-02-20 23:48:02,745 INFO L290 TraceCheckUtils]: 5: Hoare triple {6084#(and (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))) (or (and (<= ~b~0.offset 4) (= |ULTIMATE.start_main_#t~post9#1.offset| 0)) (= (+ ~b~0.offset (- 4)) 0)))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} is VALID [2022-02-20 23:48:02,746 INFO L290 TraceCheckUtils]: 6: Hoare triple {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} is VALID [2022-02-20 23:48:02,746 INFO L290 TraceCheckUtils]: 7: Hoare triple {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} assume !!(foo_~i~0#1 < ~n~0); {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} is VALID [2022-02-20 23:48:02,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} is VALID [2022-02-20 23:48:02,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} is VALID [2022-02-20 23:48:02,755 INFO L290 TraceCheckUtils]: 10: Hoare triple {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} assume !(foo_~i~0#1 < ~n~0); {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} is VALID [2022-02-20 23:48:02,756 INFO L290 TraceCheckUtils]: 11: Hoare triple {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} foo_~i~0#1 := 0; {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} is VALID [2022-02-20 23:48:02,756 INFO L290 TraceCheckUtils]: 12: Hoare triple {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} assume !(foo_~i~0#1 < ~n~0 - 1); {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} is VALID [2022-02-20 23:48:02,760 INFO L290 TraceCheckUtils]: 13: Hoare triple {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} assume { :end_inline_foo } true; {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} is VALID [2022-02-20 23:48:02,761 INFO L290 TraceCheckUtils]: 14: Hoare triple {6085#(and (<= ~b~0.offset 4) (or (= (+ (- 1) ~n~0) 0) (not (= (+ ~b~0.offset (- 4)) 0))))} SUMMARY for call main_#t~mem10#1 := read~int(~b~0.base, -4 + ~b~0.offset, 4); srcloc: L544 {6086#(and (= (select (select |#memory_int| ~b~0.base) (+ ~b~0.offset (* ~n~0 4) (- 8))) |ULTIMATE.start_main_#t~mem10#1|) (= ~b~0.offset 4) (= ~n~0 1))} is VALID [2022-02-20 23:48:02,761 INFO L290 TraceCheckUtils]: 15: Hoare triple {6086#(and (= (select (select |#memory_int| ~b~0.base) (+ ~b~0.offset (* ~n~0 4) (- 8))) |ULTIMATE.start_main_#t~mem10#1|) (= ~b~0.offset 4) (= ~n~0 1))} SUMMARY for call main_#t~mem11#1 := read~int(~b~0.base, ~b~0.offset + 4 * (~n~0 - 2), 4); srcloc: L544-1 {6087#(and (= |ULTIMATE.start_main_#t~mem10#1| |ULTIMATE.start_main_#t~mem11#1|) (= (+ ~b~0.offset (- 4)) 0))} is VALID [2022-02-20 23:48:02,766 INFO L290 TraceCheckUtils]: 16: Hoare triple {6087#(and (= |ULTIMATE.start_main_#t~mem10#1| |ULTIMATE.start_main_#t~mem11#1|) (= (+ ~b~0.offset (- 4)) 0))} assume 0 != main_#t~mem10#1 - main_#t~mem11#1;havoc main_#t~mem10#1;havoc main_#t~mem11#1; {6082#false} is VALID [2022-02-20 23:48:02,766 INFO L290 TraceCheckUtils]: 17: Hoare triple {6082#false} assume 0 == ~a~0.offset; {6082#false} is VALID [2022-02-20 23:48:02,766 INFO L290 TraceCheckUtils]: 18: Hoare triple {6082#false} assume ~a~0.base < #StackHeapBarrier; {6082#false} is VALID [2022-02-20 23:48:02,766 INFO L290 TraceCheckUtils]: 19: Hoare triple {6082#false} assume 0 == ~a~0.base || 1 == #valid[~a~0.base];call ULTIMATE.dealloc(~a~0.base, ~a~0.offset); {6082#false} is VALID [2022-02-20 23:48:02,767 INFO L290 TraceCheckUtils]: 20: Hoare triple {6082#false} assume !(0 == ~b~0.offset); {6082#false} is VALID [2022-02-20 23:48:02,768 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:48:02,768 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:02,768 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [203088838] [2022-02-20 23:48:02,768 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [203088838] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:02,768 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:02,768 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:48:02,769 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [838377235] [2022-02-20 23:48:02,769 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:02,769 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 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:48:02,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:02,770 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 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:48:02,788 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:48:02,788 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:48:02,788 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:02,788 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:48:02,789 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:48:02,789 INFO L87 Difference]: Start difference. First operand 73 states and 77 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 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:48:03,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:03,006 INFO L93 Difference]: Finished difference Result 85 states and 88 transitions. [2022-02-20 23:48:03,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:48:03,007 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 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:48:03,007 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:03,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 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:48:03,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-02-20 23:48:03,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 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:48:03,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-02-20 23:48:03,008 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-02-20 23:48:03,051 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:03,052 INFO L225 Difference]: With dead ends: 85 [2022-02-20 23:48:03,052 INFO L226 Difference]: Without dead ends: 85 [2022-02-20 23:48:03,052 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=54, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:48:03,053 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 35 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 94 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:03,053 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 113 Invalid, 94 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:03,054 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-02-20 23:48:03,055 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 74. [2022-02-20 23:48:03,055 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:03,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 74 states, 68 states have (on average 1.1470588235294117) internal successors, (78), 73 states have internal predecessors, (78), 0 states have call successors, (0), 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:48:03,055 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 74 states, 68 states have (on average 1.1470588235294117) internal successors, (78), 73 states have internal predecessors, (78), 0 states have call successors, (0), 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:48:03,055 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 74 states, 68 states have (on average 1.1470588235294117) internal successors, (78), 73 states have internal predecessors, (78), 0 states have call successors, (0), 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:48:03,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:03,057 INFO L93 Difference]: Finished difference Result 85 states and 88 transitions. [2022-02-20 23:48:03,057 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 88 transitions. [2022-02-20 23:48:03,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:03,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:03,057 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 68 states have (on average 1.1470588235294117) internal successors, (78), 73 states have internal predecessors, (78), 0 states have call successors, (0), 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:48:03,058 INFO L87 Difference]: Start difference. First operand has 74 states, 68 states have (on average 1.1470588235294117) internal successors, (78), 73 states have internal predecessors, (78), 0 states have call successors, (0), 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:48:03,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:03,059 INFO L93 Difference]: Finished difference Result 85 states and 88 transitions. [2022-02-20 23:48:03,059 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 88 transitions. [2022-02-20 23:48:03,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:03,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:03,060 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:03,060 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:03,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 68 states have (on average 1.1470588235294117) internal successors, (78), 73 states have internal predecessors, (78), 0 states have call successors, (0), 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:48:03,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 78 transitions. [2022-02-20 23:48:03,061 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 78 transitions. Word has length 21 [2022-02-20 23:48:03,061 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:03,061 INFO L470 AbstractCegarLoop]: Abstraction has 74 states and 78 transitions. [2022-02-20 23:48:03,061 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 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:48:03,062 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 78 transitions. [2022-02-20 23:48:03,062 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:48:03,062 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:03,062 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:48:03,062 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2022-02-20 23:48:03,063 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr20ASSERT_VIOLATIONMEMORY_FREE === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:03,063 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:03,063 INFO L85 PathProgramCache]: Analyzing trace with hash -1617736175, now seen corresponding path program 1 times [2022-02-20 23:48:03,063 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:03,063 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1118471516] [2022-02-20 23:48:03,063 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:03,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:03,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:03,104 INFO L290 TraceCheckUtils]: 0: Hoare triple {6425#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {6425#true} is VALID [2022-02-20 23:48:03,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {6425#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {6425#true} is VALID [2022-02-20 23:48:03,104 INFO L290 TraceCheckUtils]: 2: Hoare triple {6425#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6425#true} is VALID [2022-02-20 23:48:03,105 INFO L290 TraceCheckUtils]: 3: Hoare triple {6425#true} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {6425#true} is VALID [2022-02-20 23:48:03,105 INFO L290 TraceCheckUtils]: 4: Hoare triple {6425#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {6427#(and (= (+ |ULTIMATE.start_main_#t~post9#1.base| (* (- 1) ~b~0.base)) 0) (<= (+ |ULTIMATE.start_main_#t~post9#1.base| 1) |#StackHeapBarrier|))} is VALID [2022-02-20 23:48:03,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {6427#(and (= (+ |ULTIMATE.start_main_#t~post9#1.base| (* (- 1) ~b~0.base)) 0) (<= (+ |ULTIMATE.start_main_#t~post9#1.base| 1) |#StackHeapBarrier|))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,107 INFO L290 TraceCheckUtils]: 6: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,107 INFO L290 TraceCheckUtils]: 7: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume !!(foo_~i~0#1 < ~n~0); {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,108 INFO L290 TraceCheckUtils]: 10: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume !(foo_~i~0#1 < ~n~0); {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,108 INFO L290 TraceCheckUtils]: 11: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} foo_~i~0#1 := 0; {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,109 INFO L290 TraceCheckUtils]: 12: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume !(foo_~i~0#1 < ~n~0 - 1); {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume { :end_inline_foo } true; {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} SUMMARY for call main_#t~mem10#1 := read~int(~b~0.base, -4 + ~b~0.offset, 4); srcloc: L544 {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,110 INFO L290 TraceCheckUtils]: 15: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} SUMMARY for call main_#t~mem11#1 := read~int(~b~0.base, ~b~0.offset + 4 * (~n~0 - 2), 4); srcloc: L544-1 {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,110 INFO L290 TraceCheckUtils]: 16: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume !(0 != main_#t~mem10#1 - main_#t~mem11#1);havoc main_#t~mem10#1;havoc main_#t~mem11#1; {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume 0 == ~a~0.offset; {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,111 INFO L290 TraceCheckUtils]: 18: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume ~a~0.base < #StackHeapBarrier; {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,111 INFO L290 TraceCheckUtils]: 19: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume 0 == ~a~0.base || 1 == #valid[~a~0.base];call ULTIMATE.dealloc(~a~0.base, ~a~0.offset); {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,111 INFO L290 TraceCheckUtils]: 20: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume 0 == ~b~0.offset - 4; {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:03,112 INFO L290 TraceCheckUtils]: 21: Hoare triple {6428#(<= (+ ~b~0.base 1) |#StackHeapBarrier|)} assume !(~b~0.base < #StackHeapBarrier); {6426#false} is VALID [2022-02-20 23:48:03,112 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:48:03,112 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:03,112 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1118471516] [2022-02-20 23:48:03,113 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1118471516] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:03,113 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:03,113 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:48:03,113 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [117075838] [2022-02-20 23:48:03,113 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:03,114 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:48:03,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:03,114 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:48:03,129 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:48:03,129 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:48:03,130 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:03,130 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:48:03,130 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:48:03,131 INFO L87 Difference]: Start difference. First operand 74 states and 78 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:48:03,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:03,184 INFO L93 Difference]: Finished difference Result 73 states and 77 transitions. [2022-02-20 23:48:03,184 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:48:03,184 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:48:03,184 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:03,184 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:48:03,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-02-20 23:48:03,185 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:48:03,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-02-20 23:48:03,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2022-02-20 23:48:03,210 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:48:03,211 INFO L225 Difference]: With dead ends: 73 [2022-02-20 23:48:03,211 INFO L226 Difference]: Without dead ends: 73 [2022-02-20 23:48:03,211 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 1 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:48:03,212 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 20 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 47 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.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:03,212 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 47 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:48:03,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-02-20 23:48:03,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2022-02-20 23:48:03,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:03,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 73 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:03,214 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 73 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:03,215 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 73 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:03,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:03,216 INFO L93 Difference]: Finished difference Result 73 states and 77 transitions. [2022-02-20 23:48:03,216 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 77 transitions. [2022-02-20 23:48:03,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:03,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:03,216 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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 73 states. [2022-02-20 23:48:03,217 INFO L87 Difference]: Start difference. First operand has 73 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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 73 states. [2022-02-20 23:48:03,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:03,218 INFO L93 Difference]: Finished difference Result 73 states and 77 transitions. [2022-02-20 23:48:03,218 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 77 transitions. [2022-02-20 23:48:03,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:03,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:03,218 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:03,219 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:03,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 72 states have internal predecessors, (77), 0 states have call successors, (0), 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:48:03,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 77 transitions. [2022-02-20 23:48:03,220 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 77 transitions. Word has length 22 [2022-02-20 23:48:03,220 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:03,220 INFO L470 AbstractCegarLoop]: Abstraction has 73 states and 77 transitions. [2022-02-20 23:48:03,220 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:48:03,220 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 77 transitions. [2022-02-20 23:48:03,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-02-20 23:48:03,221 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:03,221 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] [2022-02-20 23:48:03,221 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2022-02-20 23:48:03,221 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr21ASSERT_VIOLATIONMEMORY_FREE === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:03,222 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:03,222 INFO L85 PathProgramCache]: Analyzing trace with hash 1389786246, now seen corresponding path program 1 times [2022-02-20 23:48:03,222 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:03,222 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2106432851] [2022-02-20 23:48:03,222 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:03,222 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:03,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:03,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {6723#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {6723#true} is VALID [2022-02-20 23:48:03,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {6723#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {6723#true} is VALID [2022-02-20 23:48:03,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {6723#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6723#true} is VALID [2022-02-20 23:48:03,269 INFO L290 TraceCheckUtils]: 3: Hoare triple {6723#true} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {6723#true} is VALID [2022-02-20 23:48:03,270 INFO L290 TraceCheckUtils]: 4: Hoare triple {6723#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {6725#(and (= (select |#valid| |ULTIMATE.start_main_#t~post9#1.base|) 1) (= |ULTIMATE.start_main_#t~post9#1.base| ~b~0.base) (not (= |ULTIMATE.start_main_#t~post9#1.base| ~a~0.base)))} is VALID [2022-02-20 23:48:03,271 INFO L290 TraceCheckUtils]: 5: Hoare triple {6725#(and (= (select |#valid| |ULTIMATE.start_main_#t~post9#1.base|) 1) (= |ULTIMATE.start_main_#t~post9#1.base| ~b~0.base) (not (= |ULTIMATE.start_main_#t~post9#1.base| ~a~0.base)))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,271 INFO L290 TraceCheckUtils]: 6: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} assume !!(foo_~i~0#1 < ~n~0); {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,273 INFO L290 TraceCheckUtils]: 10: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} assume !(foo_~i~0#1 < ~n~0); {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,274 INFO L290 TraceCheckUtils]: 11: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} foo_~i~0#1 := 0; {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,274 INFO L290 TraceCheckUtils]: 12: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} assume !(foo_~i~0#1 < ~n~0 - 1); {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} assume { :end_inline_foo } true; {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,275 INFO L290 TraceCheckUtils]: 14: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} SUMMARY for call main_#t~mem10#1 := read~int(~b~0.base, -4 + ~b~0.offset, 4); srcloc: L544 {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,276 INFO L290 TraceCheckUtils]: 15: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} SUMMARY for call main_#t~mem11#1 := read~int(~b~0.base, ~b~0.offset + 4 * (~n~0 - 2), 4); srcloc: L544-1 {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,276 INFO L290 TraceCheckUtils]: 16: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} assume !(0 != main_#t~mem10#1 - main_#t~mem11#1);havoc main_#t~mem10#1;havoc main_#t~mem11#1; {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,276 INFO L290 TraceCheckUtils]: 17: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} assume 0 == ~a~0.offset; {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,277 INFO L290 TraceCheckUtils]: 18: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} assume ~a~0.base < #StackHeapBarrier; {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} is VALID [2022-02-20 23:48:03,277 INFO L290 TraceCheckUtils]: 19: Hoare triple {6726#(and (= (select |#valid| ~b~0.base) 1) (not (= ~a~0.base ~b~0.base)))} assume 0 == ~a~0.base || 1 == #valid[~a~0.base];call ULTIMATE.dealloc(~a~0.base, ~a~0.offset); {6727#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:48:03,278 INFO L290 TraceCheckUtils]: 20: Hoare triple {6727#(= (select |#valid| ~b~0.base) 1)} assume 0 == ~b~0.offset - 4; {6727#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:48:03,278 INFO L290 TraceCheckUtils]: 21: Hoare triple {6727#(= (select |#valid| ~b~0.base) 1)} assume ~b~0.base < #StackHeapBarrier; {6727#(= (select |#valid| ~b~0.base) 1)} is VALID [2022-02-20 23:48:03,278 INFO L290 TraceCheckUtils]: 22: Hoare triple {6727#(= (select |#valid| ~b~0.base) 1)} assume !(0 == ~b~0.base || 1 == #valid[~b~0.base]); {6724#false} is VALID [2022-02-20 23:48:03,279 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:48:03,279 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:03,279 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2106432851] [2022-02-20 23:48:03,279 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2106432851] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:03,279 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:03,279 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:48:03,280 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1241120508] [2022-02-20 23:48:03,280 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:03,280 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 0 states have call successors, (0), 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 23 [2022-02-20 23:48:03,280 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:03,281 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 0 states have call successors, (0), 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:48:03,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:03,298 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:48:03,298 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:03,299 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:48:03,299 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:03,299 INFO L87 Difference]: Start difference. First operand 73 states and 77 transitions. Second operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 0 states have call successors, (0), 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:48:03,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:03,375 INFO L93 Difference]: Finished difference Result 72 states and 76 transitions. [2022-02-20 23:48:03,375 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:48:03,375 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 0 states have call successors, (0), 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 23 [2022-02-20 23:48:03,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:03,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 0 states have call successors, (0), 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:48:03,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-02-20 23:48:03,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 0 states have call successors, (0), 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:48:03,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-02-20 23:48:03,377 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 37 transitions. [2022-02-20 23:48:03,412 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:03,413 INFO L225 Difference]: With dead ends: 72 [2022-02-20 23:48:03,413 INFO L226 Difference]: Without dead ends: 72 [2022-02-20 23:48:03,413 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:03,416 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 35 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:03,416 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 41 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:48:03,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-02-20 23:48:03,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 72. [2022-02-20 23:48:03,418 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:03,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 72 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 71 states have internal predecessors, (76), 0 states have call successors, (0), 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:48:03,418 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 72 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 71 states have internal predecessors, (76), 0 states have call successors, (0), 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:48:03,418 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 72 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 71 states have internal predecessors, (76), 0 states have call successors, (0), 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:48:03,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:03,419 INFO L93 Difference]: Finished difference Result 72 states and 76 transitions. [2022-02-20 23:48:03,419 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 76 transitions. [2022-02-20 23:48:03,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:03,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:03,420 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 71 states have internal predecessors, (76), 0 states have call successors, (0), 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 72 states. [2022-02-20 23:48:03,420 INFO L87 Difference]: Start difference. First operand has 72 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 71 states have internal predecessors, (76), 0 states have call successors, (0), 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 72 states. [2022-02-20 23:48:03,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:03,421 INFO L93 Difference]: Finished difference Result 72 states and 76 transitions. [2022-02-20 23:48:03,421 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 76 transitions. [2022-02-20 23:48:03,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:03,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:03,421 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:03,422 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:03,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 71 states have internal predecessors, (76), 0 states have call successors, (0), 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:48:03,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 76 transitions. [2022-02-20 23:48:03,437 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 76 transitions. Word has length 23 [2022-02-20 23:48:03,437 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:03,437 INFO L470 AbstractCegarLoop]: Abstraction has 72 states and 76 transitions. [2022-02-20 23:48:03,437 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 0 states have call successors, (0), 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:48:03,437 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 76 transitions. [2022-02-20 23:48:03,438 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:48:03,438 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:03,438 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:03,438 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2022-02-20 23:48:03,438 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:03,439 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:03,439 INFO L85 PathProgramCache]: Analyzing trace with hash 191055246, now seen corresponding path program 1 times [2022-02-20 23:48:03,439 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:03,439 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1321002454] [2022-02-20 23:48:03,439 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:03,439 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:03,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:03,546 INFO L290 TraceCheckUtils]: 0: Hoare triple {7018#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {7018#true} is VALID [2022-02-20 23:48:03,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {7018#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {7020#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:48:03,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {7020#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7020#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:48:03,548 INFO L290 TraceCheckUtils]: 3: Hoare triple {7020#(= (+ (- 1) ~n~0) 0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,548 INFO L290 TraceCheckUtils]: 4: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,549 INFO L290 TraceCheckUtils]: 5: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,549 INFO L290 TraceCheckUtils]: 6: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,550 INFO L290 TraceCheckUtils]: 7: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,550 INFO L290 TraceCheckUtils]: 8: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume !!(foo_~i~0#1 < ~n~0); {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,551 INFO L290 TraceCheckUtils]: 10: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,552 INFO L290 TraceCheckUtils]: 11: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,552 INFO L290 TraceCheckUtils]: 12: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume !!(foo_~i~0#1 < ~n~0); {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,553 INFO L290 TraceCheckUtils]: 13: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,554 INFO L290 TraceCheckUtils]: 15: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume !(foo_~i~0#1 < ~n~0); {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,554 INFO L290 TraceCheckUtils]: 16: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} foo_~i~0#1 := 0; {7022#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {7022#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 ~n~0))} assume !!(foo_~i~0#1 < ~n~0 - 1); {7022#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {7022#(and (<= ~n~0 2) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 ~n~0))} SUMMARY for call write~int(~n~0, ~b~0.base, ~b~0.offset + 4 * foo_~i~0#1, 4); srcloc: L532 {7023#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 ~n~0) (<= (+ ~b~0.offset (* ~n~0 4) (* |ULTIMATE.start_foo_~i~0#1| 4)) (+ (select |#length| ~b~0.base) 4)))} is VALID [2022-02-20 23:48:03,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {7023#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 ~n~0) (<= (+ ~b~0.offset (* ~n~0 4) (* |ULTIMATE.start_foo_~i~0#1| 4)) (+ (select |#length| ~b~0.base) 4)))} foo_#t~post4#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post4#1;havoc foo_#t~post4#1; {7024#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {7024#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 2 ~n~0))} assume !(foo_~i~0#1 < ~n~0 - 1); {7024#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,557 INFO L290 TraceCheckUtils]: 21: Hoare triple {7024#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 2 ~n~0))} assume { :end_inline_foo } true; {7024#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,558 INFO L290 TraceCheckUtils]: 22: Hoare triple {7024#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 2 ~n~0))} SUMMARY for call main_#t~mem10#1 := read~int(~b~0.base, -4 + ~b~0.offset, 4); srcloc: L544 {7025#(and (<= 12 (+ ~b~0.offset (* ~n~0 4))) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} is VALID [2022-02-20 23:48:03,558 INFO L290 TraceCheckUtils]: 23: Hoare triple {7025#(and (<= 12 (+ ~b~0.offset (* ~n~0 4))) (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)))} assume !(4 + (~b~0.offset + 4 * (~n~0 - 2)) <= #length[~b~0.base] && 0 <= ~b~0.offset + 4 * (~n~0 - 2)); {7019#false} is VALID [2022-02-20 23:48:03,558 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 23:48:03,558 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:03,559 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1321002454] [2022-02-20 23:48:03,559 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1321002454] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:03,559 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [349734912] [2022-02-20 23:48:03,559 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:03,559 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:03,559 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:03,560 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:48:03,567 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 23:48:03,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:03,632 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:48:03,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:03,641 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:03,873 INFO L290 TraceCheckUtils]: 0: Hoare triple {7018#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {7018#true} is VALID [2022-02-20 23:48:03,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {7018#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {7020#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:48:03,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {7020#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7020#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:48:03,875 INFO L290 TraceCheckUtils]: 3: Hoare triple {7020#(= (+ (- 1) ~n~0) 0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,875 INFO L290 TraceCheckUtils]: 4: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,876 INFO L290 TraceCheckUtils]: 6: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume !!(foo_~i~0#1 < ~n~0); {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,878 INFO L290 TraceCheckUtils]: 10: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,879 INFO L290 TraceCheckUtils]: 11: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,879 INFO L290 TraceCheckUtils]: 12: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume !!(foo_~i~0#1 < ~n~0); {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,881 INFO L290 TraceCheckUtils]: 15: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} assume !(foo_~i~0#1 < ~n~0); {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} is VALID [2022-02-20 23:48:03,881 INFO L290 TraceCheckUtils]: 16: Hoare triple {7021#(and (<= ~n~0 2) (<= 2 ~n~0))} foo_~i~0#1 := 0; {7077#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:48:03,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {7077#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 < ~n~0 - 1); {7077#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:48:03,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {7077#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call write~int(~n~0, ~b~0.base, ~b~0.offset + 4 * foo_~i~0#1, 4); srcloc: L532 {7084#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} is VALID [2022-02-20 23:48:03,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {7084#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} foo_#t~post4#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post4#1;havoc foo_#t~post4#1; {7084#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} is VALID [2022-02-20 23:48:03,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {7084#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} assume !(foo_~i~0#1 < ~n~0 - 1); {7084#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} is VALID [2022-02-20 23:48:03,884 INFO L290 TraceCheckUtils]: 21: Hoare triple {7084#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} assume { :end_inline_foo } true; {7084#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} is VALID [2022-02-20 23:48:03,884 INFO L290 TraceCheckUtils]: 22: Hoare triple {7084#(and (<= ~n~0 2) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} SUMMARY for call main_#t~mem10#1 := read~int(~b~0.base, -4 + ~b~0.offset, 4); srcloc: L544 {7097#(and (<= ~n~0 2) (<= 4 ~b~0.offset) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} is VALID [2022-02-20 23:48:03,885 INFO L290 TraceCheckUtils]: 23: Hoare triple {7097#(and (<= ~n~0 2) (<= 4 ~b~0.offset) (<= 2 ~n~0) (<= 0 (div (+ (select |#length| ~b~0.base) (- 4) (* ~b~0.offset (- 1))) 4)))} assume !(4 + (~b~0.offset + 4 * (~n~0 - 2)) <= #length[~b~0.base] && 0 <= ~b~0.offset + 4 * (~n~0 - 2)); {7019#false} is VALID [2022-02-20 23:48:03,885 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 23:48:03,885 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:04,043 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 31 treesize of output 27 [2022-02-20 23:48:04,378 INFO L290 TraceCheckUtils]: 23: Hoare triple {7101#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4))))} assume !(4 + (~b~0.offset + 4 * (~n~0 - 2)) <= #length[~b~0.base] && 0 <= ~b~0.offset + 4 * (~n~0 - 2)); {7019#false} is VALID [2022-02-20 23:48:04,379 INFO L290 TraceCheckUtils]: 22: Hoare triple {7105#(or (and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4)))) (not (<= 4 ~b~0.offset)))} SUMMARY for call main_#t~mem10#1 := read~int(~b~0.base, -4 + ~b~0.offset, 4); srcloc: L544 {7101#(and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4))))} is VALID [2022-02-20 23:48:04,379 INFO L290 TraceCheckUtils]: 21: Hoare triple {7105#(or (and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4)))) (not (<= 4 ~b~0.offset)))} assume { :end_inline_foo } true; {7105#(or (and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4)))) (not (<= 4 ~b~0.offset)))} is VALID [2022-02-20 23:48:04,380 INFO L290 TraceCheckUtils]: 20: Hoare triple {7105#(or (and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4)))) (not (<= 4 ~b~0.offset)))} assume !(foo_~i~0#1 < ~n~0 - 1); {7105#(or (and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4)))) (not (<= 4 ~b~0.offset)))} is VALID [2022-02-20 23:48:04,380 INFO L290 TraceCheckUtils]: 19: Hoare triple {7105#(or (and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4)))) (not (<= 4 ~b~0.offset)))} foo_#t~post4#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post4#1;havoc foo_#t~post4#1; {7105#(or (and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4)))) (not (<= 4 ~b~0.offset)))} is VALID [2022-02-20 23:48:04,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {7118#(and (<= 4 (* ~n~0 4)) (<= (* ~n~0 4) (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4))))} SUMMARY for call write~int(~n~0, ~b~0.base, ~b~0.offset + 4 * foo_~i~0#1, 4); srcloc: L532 {7105#(or (and (<= (+ ~b~0.offset (* ~n~0 4)) (+ (select |#length| ~b~0.base) 4)) (<= 8 (+ ~b~0.offset (* ~n~0 4)))) (not (<= 4 ~b~0.offset)))} is VALID [2022-02-20 23:48:04,382 INFO L290 TraceCheckUtils]: 17: Hoare triple {7118#(and (<= 4 (* ~n~0 4)) (<= (* ~n~0 4) (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4))))} assume !!(foo_~i~0#1 < ~n~0 - 1); {7118#(and (<= 4 (* ~n~0 4)) (<= (* ~n~0 4) (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4))))} is VALID [2022-02-20 23:48:04,382 INFO L290 TraceCheckUtils]: 16: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} foo_~i~0#1 := 0; {7118#(and (<= 4 (* ~n~0 4)) (<= (* ~n~0 4) (+ 8 (* |ULTIMATE.start_foo_~i~0#1| 4))))} is VALID [2022-02-20 23:48:04,383 INFO L290 TraceCheckUtils]: 15: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} assume !(foo_~i~0#1 < ~n~0); {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,384 INFO L290 TraceCheckUtils]: 13: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,385 INFO L290 TraceCheckUtils]: 12: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} assume !!(foo_~i~0#1 < ~n~0); {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,386 INFO L290 TraceCheckUtils]: 10: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} assume !!(foo_~i~0#1 < ~n~0); {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,387 INFO L290 TraceCheckUtils]: 8: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,388 INFO L290 TraceCheckUtils]: 6: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,389 INFO L290 TraceCheckUtils]: 4: Hoare triple {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,390 INFO L290 TraceCheckUtils]: 3: Hoare triple {7165#(and (<= 0 (* ~n~0 4)) (<= ~n~0 1))} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7125#(and (<= 4 (* ~n~0 4)) (<= ~n~0 2))} is VALID [2022-02-20 23:48:04,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {7165#(and (<= 0 (* ~n~0 4)) (<= ~n~0 1))} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7165#(and (<= 0 (* ~n~0 4)) (<= ~n~0 1))} is VALID [2022-02-20 23:48:04,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {7018#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {7165#(and (<= 0 (* ~n~0 4)) (<= ~n~0 1))} is VALID [2022-02-20 23:48:04,391 INFO L290 TraceCheckUtils]: 0: Hoare triple {7018#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {7018#true} is VALID [2022-02-20 23:48:04,391 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 23:48:04,392 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [349734912] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:04,392 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:04,392 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 15 [2022-02-20 23:48:04,392 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [529904121] [2022-02-20 23:48:04,392 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:04,393 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 3.2666666666666666) internal successors, (49), 16 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) Word has length 24 [2022-02-20 23:48:04,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:04,393 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 3.2666666666666666) internal successors, (49), 16 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:48:04,438 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:04,439 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:48:04,439 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:04,439 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:48:04,439 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:48:04,440 INFO L87 Difference]: Start difference. First operand 72 states and 76 transitions. Second operand has 16 states, 15 states have (on average 3.2666666666666666) internal successors, (49), 16 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:48:04,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:04,988 INFO L93 Difference]: Finished difference Result 99 states and 101 transitions. [2022-02-20 23:48:04,988 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:48:04,988 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 3.2666666666666666) internal successors, (49), 16 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) Word has length 24 [2022-02-20 23:48:04,988 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:04,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 3.2666666666666666) internal successors, (49), 16 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:48:04,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 96 transitions. [2022-02-20 23:48:04,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 3.2666666666666666) internal successors, (49), 16 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:48:04,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 96 transitions. [2022-02-20 23:48:04,990 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 96 transitions. [2022-02-20 23:48:05,085 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:48:05,086 INFO L225 Difference]: With dead ends: 99 [2022-02-20 23:48:05,086 INFO L226 Difference]: Without dead ends: 99 [2022-02-20 23:48:05,086 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 37 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=105, Invalid=315, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:48:05,087 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 223 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 218 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 223 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 245 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 218 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:05,087 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [223 Valid, 160 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 218 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:48:05,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-02-20 23:48:05,089 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 75. [2022-02-20 23:48:05,089 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:05,089 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 75 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 74 states have internal predecessors, (79), 0 states have call successors, (0), 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:48:05,089 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 75 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 74 states have internal predecessors, (79), 0 states have call successors, (0), 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:48:05,089 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 75 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 74 states have internal predecessors, (79), 0 states have call successors, (0), 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:48:05,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:05,094 INFO L93 Difference]: Finished difference Result 99 states and 101 transitions. [2022-02-20 23:48:05,094 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 101 transitions. [2022-02-20 23:48:05,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:05,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:05,095 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 74 states have internal predecessors, (79), 0 states have call successors, (0), 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 99 states. [2022-02-20 23:48:05,095 INFO L87 Difference]: Start difference. First operand has 75 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 74 states have internal predecessors, (79), 0 states have call successors, (0), 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 99 states. [2022-02-20 23:48:05,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:05,097 INFO L93 Difference]: Finished difference Result 99 states and 101 transitions. [2022-02-20 23:48:05,097 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 101 transitions. [2022-02-20 23:48:05,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:05,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:05,097 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:05,098 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:05,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 74 states have internal predecessors, (79), 0 states have call successors, (0), 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:48:05,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 79 transitions. [2022-02-20 23:48:05,101 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 79 transitions. Word has length 24 [2022-02-20 23:48:05,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:05,101 INFO L470 AbstractCegarLoop]: Abstraction has 75 states and 79 transitions. [2022-02-20 23:48:05,101 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 3.2666666666666666) internal successors, (49), 16 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:48:05,101 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2022-02-20 23:48:05,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:48:05,102 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:05,102 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:05,126 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-02-20 23:48:05,324 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:05,324 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:05,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:05,325 INFO L85 PathProgramCache]: Analyzing trace with hash 1128819910, now seen corresponding path program 1 times [2022-02-20 23:48:05,325 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:05,325 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1034987904] [2022-02-20 23:48:05,325 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:05,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:05,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:05,412 INFO L290 TraceCheckUtils]: 0: Hoare triple {7556#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {7556#true} is VALID [2022-02-20 23:48:05,413 INFO L290 TraceCheckUtils]: 1: Hoare triple {7556#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {7558#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:48:05,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {7558#(= (+ (- 1) ~n~0) 0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7558#(= (+ (- 1) ~n~0) 0)} is VALID [2022-02-20 23:48:05,416 INFO L290 TraceCheckUtils]: 3: Hoare triple {7558#(= (+ (- 1) ~n~0) 0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7559#(<= 2 ~n~0)} is VALID [2022-02-20 23:48:05,418 INFO L290 TraceCheckUtils]: 4: Hoare triple {7559#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7559#(<= 2 ~n~0)} is VALID [2022-02-20 23:48:05,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {7559#(<= 2 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,419 INFO L290 TraceCheckUtils]: 6: Hoare triple {7560#(<= 3 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {7560#(<= 3 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {7560#(<= 3 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {7560#(<= 3 ~n~0)} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,421 INFO L290 TraceCheckUtils]: 10: Hoare triple {7560#(<= 3 ~n~0)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7561#(and (<= 3 ~n~0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:48:05,421 INFO L290 TraceCheckUtils]: 11: Hoare triple {7561#(and (<= 3 ~n~0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 < ~n~0); {7561#(and (<= 3 ~n~0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:48:05,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {7561#(and (<= 3 ~n~0) (= |ULTIMATE.start_foo_~i~0#1| 0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7561#(and (<= 3 ~n~0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:48:05,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {7561#(and (<= 3 ~n~0) (= |ULTIMATE.start_foo_~i~0#1| 0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} is VALID [2022-02-20 23:48:05,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} assume !!(foo_~i~0#1 < ~n~0); {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} is VALID [2022-02-20 23:48:05,423 INFO L290 TraceCheckUtils]: 15: Hoare triple {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} is VALID [2022-02-20 23:48:05,424 INFO L290 TraceCheckUtils]: 16: Hoare triple {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7563#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) ~n~0)} is VALID [2022-02-20 23:48:05,424 INFO L290 TraceCheckUtils]: 17: Hoare triple {7563#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) ~n~0)} assume !(foo_~i~0#1 < ~n~0); {7557#false} is VALID [2022-02-20 23:48:05,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {7557#false} foo_~i~0#1 := 0; {7557#false} is VALID [2022-02-20 23:48:05,425 INFO L290 TraceCheckUtils]: 19: Hoare triple {7557#false} assume !!(foo_~i~0#1 < ~n~0 - 1); {7557#false} is VALID [2022-02-20 23:48:05,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {7557#false} SUMMARY for call write~int(~n~0, ~b~0.base, ~b~0.offset + 4 * foo_~i~0#1, 4); srcloc: L532 {7557#false} is VALID [2022-02-20 23:48:05,425 INFO L290 TraceCheckUtils]: 21: Hoare triple {7557#false} foo_#t~post4#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post4#1;havoc foo_#t~post4#1; {7557#false} is VALID [2022-02-20 23:48:05,425 INFO L290 TraceCheckUtils]: 22: Hoare triple {7557#false} assume !!(foo_~i~0#1 < ~n~0 - 1); {7557#false} is VALID [2022-02-20 23:48:05,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {7557#false} assume !(4 + (~b~0.offset + 4 * foo_~i~0#1) <= #length[~b~0.base] && 0 <= ~b~0.offset + 4 * foo_~i~0#1); {7557#false} is VALID [2022-02-20 23:48:05,425 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 2 proven. 9 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:48:05,426 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:05,426 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1034987904] [2022-02-20 23:48:05,426 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1034987904] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:05,426 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [160183178] [2022-02-20 23:48:05,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:05,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:05,427 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:05,432 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:48:05,433 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 23:48:05,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:05,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:48:05,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:05,504 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:05,669 INFO L290 TraceCheckUtils]: 0: Hoare triple {7556#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {7556#true} is VALID [2022-02-20 23:48:05,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {7556#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {7570#(<= 1 ~n~0)} is VALID [2022-02-20 23:48:05,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#(<= 1 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7570#(<= 1 ~n~0)} is VALID [2022-02-20 23:48:05,670 INFO L290 TraceCheckUtils]: 3: Hoare triple {7570#(<= 1 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7559#(<= 2 ~n~0)} is VALID [2022-02-20 23:48:05,671 INFO L290 TraceCheckUtils]: 4: Hoare triple {7559#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7559#(<= 2 ~n~0)} is VALID [2022-02-20 23:48:05,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {7559#(<= 2 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,671 INFO L290 TraceCheckUtils]: 6: Hoare triple {7560#(<= 3 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,672 INFO L290 TraceCheckUtils]: 7: Hoare triple {7560#(<= 3 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,672 INFO L290 TraceCheckUtils]: 8: Hoare triple {7560#(<= 3 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,672 INFO L290 TraceCheckUtils]: 9: Hoare triple {7560#(<= 3 ~n~0)} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,673 INFO L290 TraceCheckUtils]: 10: Hoare triple {7560#(<= 3 ~n~0)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7598#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 3 ~n~0))} is VALID [2022-02-20 23:48:05,673 INFO L290 TraceCheckUtils]: 11: Hoare triple {7598#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 3 ~n~0))} assume !!(foo_~i~0#1 < ~n~0); {7598#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 3 ~n~0))} is VALID [2022-02-20 23:48:05,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {7598#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 3 ~n~0))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7598#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 3 ~n~0))} is VALID [2022-02-20 23:48:05,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {7598#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 3 ~n~0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7608#(and (<= 3 ~n~0) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:48:05,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {7608#(and (<= 3 ~n~0) (<= |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 < ~n~0); {7608#(and (<= 3 ~n~0) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:48:05,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {7608#(and (<= 3 ~n~0) (<= |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7608#(and (<= 3 ~n~0) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:48:05,675 INFO L290 TraceCheckUtils]: 16: Hoare triple {7608#(and (<= 3 ~n~0) (<= |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7618#(and (<= 3 ~n~0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:48:05,676 INFO L290 TraceCheckUtils]: 17: Hoare triple {7618#(and (<= 3 ~n~0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} assume !(foo_~i~0#1 < ~n~0); {7557#false} is VALID [2022-02-20 23:48:05,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {7557#false} foo_~i~0#1 := 0; {7557#false} is VALID [2022-02-20 23:48:05,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {7557#false} assume !!(foo_~i~0#1 < ~n~0 - 1); {7557#false} is VALID [2022-02-20 23:48:05,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {7557#false} SUMMARY for call write~int(~n~0, ~b~0.base, ~b~0.offset + 4 * foo_~i~0#1, 4); srcloc: L532 {7557#false} is VALID [2022-02-20 23:48:05,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {7557#false} foo_#t~post4#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post4#1;havoc foo_#t~post4#1; {7557#false} is VALID [2022-02-20 23:48:05,676 INFO L290 TraceCheckUtils]: 22: Hoare triple {7557#false} assume !!(foo_~i~0#1 < ~n~0 - 1); {7557#false} is VALID [2022-02-20 23:48:05,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {7557#false} assume !(4 + (~b~0.offset + 4 * foo_~i~0#1) <= #length[~b~0.base] && 0 <= ~b~0.offset + 4 * foo_~i~0#1); {7557#false} is VALID [2022-02-20 23:48:05,676 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:48:05,676 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:05,796 INFO L290 TraceCheckUtils]: 23: Hoare triple {7557#false} assume !(4 + (~b~0.offset + 4 * foo_~i~0#1) <= #length[~b~0.base] && 0 <= ~b~0.offset + 4 * foo_~i~0#1); {7557#false} is VALID [2022-02-20 23:48:05,796 INFO L290 TraceCheckUtils]: 22: Hoare triple {7557#false} assume !!(foo_~i~0#1 < ~n~0 - 1); {7557#false} is VALID [2022-02-20 23:48:05,796 INFO L290 TraceCheckUtils]: 21: Hoare triple {7557#false} foo_#t~post4#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post4#1;havoc foo_#t~post4#1; {7557#false} is VALID [2022-02-20 23:48:05,797 INFO L290 TraceCheckUtils]: 20: Hoare triple {7557#false} SUMMARY for call write~int(~n~0, ~b~0.base, ~b~0.offset + 4 * foo_~i~0#1, 4); srcloc: L532 {7557#false} is VALID [2022-02-20 23:48:05,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {7557#false} assume !!(foo_~i~0#1 < ~n~0 - 1); {7557#false} is VALID [2022-02-20 23:48:05,797 INFO L290 TraceCheckUtils]: 18: Hoare triple {7557#false} foo_~i~0#1 := 0; {7557#false} is VALID [2022-02-20 23:48:05,797 INFO L290 TraceCheckUtils]: 17: Hoare triple {7563#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) ~n~0)} assume !(foo_~i~0#1 < ~n~0); {7557#false} is VALID [2022-02-20 23:48:05,798 INFO L290 TraceCheckUtils]: 16: Hoare triple {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7563#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) ~n~0)} is VALID [2022-02-20 23:48:05,798 INFO L290 TraceCheckUtils]: 15: Hoare triple {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} is VALID [2022-02-20 23:48:05,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} assume !!(foo_~i~0#1 < ~n~0); {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} is VALID [2022-02-20 23:48:05,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {7670#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) ~n~0)} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post3#1;havoc foo_#t~post3#1; {7562#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) ~n~0)} is VALID [2022-02-20 23:48:05,799 INFO L290 TraceCheckUtils]: 12: Hoare triple {7670#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) ~n~0)} SUMMARY for call write~int(~n~0, ~a~0.base, ~a~0.offset + 4 * foo_~i~0#1, 4); srcloc: L530 {7670#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) ~n~0)} is VALID [2022-02-20 23:48:05,799 INFO L290 TraceCheckUtils]: 11: Hoare triple {7670#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) ~n~0)} assume !!(foo_~i~0#1 < ~n~0); {7670#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) ~n~0)} is VALID [2022-02-20 23:48:05,800 INFO L290 TraceCheckUtils]: 10: Hoare triple {7560#(<= 3 ~n~0)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7670#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) ~n~0)} is VALID [2022-02-20 23:48:05,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {7560#(<= 3 ~n~0)} SUMMARY for call write~int(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4); srcloc: L542 {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {7560#(<= 3 ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(4 * ~n~0);~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, 4 + main_#t~post9#1.offset; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,801 INFO L290 TraceCheckUtils]: 7: Hoare triple {7560#(<= 3 ~n~0)} assume !(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,801 INFO L290 TraceCheckUtils]: 6: Hoare triple {7560#(<= 3 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,801 INFO L290 TraceCheckUtils]: 5: Hoare triple {7559#(<= 2 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7560#(<= 3 ~n~0)} is VALID [2022-02-20 23:48:05,802 INFO L290 TraceCheckUtils]: 4: Hoare triple {7559#(<= 2 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7559#(<= 2 ~n~0)} is VALID [2022-02-20 23:48:05,802 INFO L290 TraceCheckUtils]: 3: Hoare triple {7570#(<= 1 ~n~0)} assume !!(0 != main_#t~nondet5#1 && ~n~0 < 30);havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7559#(<= 2 ~n~0)} is VALID [2022-02-20 23:48:05,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#(<= 1 ~n~0)} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7570#(<= 1 ~n~0)} is VALID [2022-02-20 23:48:05,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {7556#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1; {7570#(<= 1 ~n~0)} is VALID [2022-02-20 23:48:05,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {7556#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);~a~0.base, ~a~0.offset := 0, 0;~b~0.base, ~b~0.offset := 0, 0;~n~0 := 0; {7556#true} is VALID [2022-02-20 23:48:05,803 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:48:05,803 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [160183178] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:05,803 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:05,803 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 13 [2022-02-20 23:48:05,803 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [370027828] [2022-02-20 23:48:05,804 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:05,804 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 13 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 24 [2022-02-20 23:48:05,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:05,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 13 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:48:05,830 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:48:05,830 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 23:48:05,830 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:05,831 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 23:48:05,831 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=99, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:48:05,831 INFO L87 Difference]: Start difference. First operand 75 states and 79 transitions. Second operand has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 13 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:48:06,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:06,263 INFO L93 Difference]: Finished difference Result 132 states and 134 transitions. [2022-02-20 23:48:06,263 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 23:48:06,263 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 13 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 24 [2022-02-20 23:48:06,263 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:06,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 13 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:48:06,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 136 transitions. [2022-02-20 23:48:06,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 13 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:48:06,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 136 transitions. [2022-02-20 23:48:06,266 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 136 transitions. [2022-02-20 23:48:06,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:06,369 INFO L225 Difference]: With dead ends: 132 [2022-02-20 23:48:06,369 INFO L226 Difference]: Without dead ends: 132 [2022-02-20 23:48:06,369 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 42 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 67 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=222, Unknown=0, NotChecked=0, Total=342 [2022-02-20 23:48:06,370 INFO L933 BasicCegarLoop]: 54 mSDtfsCounter, 205 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 170 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 205 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 170 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:06,370 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [205 Valid, 230 Invalid, 201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 170 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:06,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-02-20 23:48:06,372 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 80. [2022-02-20 23:48:06,372 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:06,372 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 80 states, 76 states have (on average 1.105263157894737) internal successors, (84), 79 states have internal predecessors, (84), 0 states have call successors, (0), 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:48:06,372 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 80 states, 76 states have (on average 1.105263157894737) internal successors, (84), 79 states have internal predecessors, (84), 0 states have call successors, (0), 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:48:06,373 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 80 states, 76 states have (on average 1.105263157894737) internal successors, (84), 79 states have internal predecessors, (84), 0 states have call successors, (0), 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:48:06,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:06,374 INFO L93 Difference]: Finished difference Result 132 states and 134 transitions. [2022-02-20 23:48:06,375 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 134 transitions. [2022-02-20 23:48:06,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:06,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:06,375 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 76 states have (on average 1.105263157894737) internal successors, (84), 79 states have internal predecessors, (84), 0 states have call successors, (0), 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 132 states. [2022-02-20 23:48:06,375 INFO L87 Difference]: Start difference. First operand has 80 states, 76 states have (on average 1.105263157894737) internal successors, (84), 79 states have internal predecessors, (84), 0 states have call successors, (0), 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 132 states. [2022-02-20 23:48:06,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:06,385 INFO L93 Difference]: Finished difference Result 132 states and 134 transitions. [2022-02-20 23:48:06,385 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 134 transitions. [2022-02-20 23:48:06,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:06,385 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:06,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:06,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:06,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 76 states have (on average 1.105263157894737) internal successors, (84), 79 states have internal predecessors, (84), 0 states have call successors, (0), 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:48:06,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 84 transitions. [2022-02-20 23:48:06,387 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 84 transitions. Word has length 24 [2022-02-20 23:48:06,387 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:06,388 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 84 transitions. [2022-02-20 23:48:06,388 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.923076923076923) internal successors, (38), 13 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:48:06,388 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 84 transitions. [2022-02-20 23:48:06,389 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:48:06,389 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:06,389 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:06,409 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:48:06,603 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:06,604 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr22ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:06,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:06,605 INFO L85 PathProgramCache]: Analyzing trace with hash -150242775, now seen corresponding path program 1 times [2022-02-20 23:48:06,605 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:06,605 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [552311696] [2022-02-20 23:48:06,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:06,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:06,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:06,651 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21 [2022-02-20 23:48:06,651 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.ArrayInterpolator$WeakPathInfo$WeakPathEnd.addInterpolantClausePathSeg(ArrayInterpolator.java:2041) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.ArrayInterpolator$WeakPathInfo.closeWeakPath(ArrayInterpolator.java:1412) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.ArrayInterpolator$WeakPathInfo.interpolateWeakPathInfo(ArrayInterpolator.java:1070) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.ArrayInterpolator$WeakPathInfo$WeakPathEnd.buildRecursiveInterpolant(ArrayInterpolator.java:2229) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.ArrayInterpolator$WeakPathInfo.interpolateStorePathInfoExt(ArrayInterpolator.java:1206) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.ArrayInterpolator.computeWeakeqExtInterpolants(ArrayInterpolator.java:306) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.ArrayInterpolator.computeInterpolants(ArrayInterpolator.java:197) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.Interpolator.walkLeafNode(Interpolator.java:326) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.Interpolator$ProofTreeWalker.walk(Interpolator.java:145) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:115) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:106) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.Interpolator.interpolate(Interpolator.java:250) at de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.Interpolator.getInterpolants(Interpolator.java:227) at de.uni_freiburg.informatik.ultimate.smtinterpol.smtlib2.SMTInterpol.getInterpolants(SMTInterpol.java:879) at de.uni_freiburg.informatik.ultimate.smtinterpol.smtlib2.SMTInterpol.getInterpolants(SMTInterpol.java:803) at de.uni_freiburg.informatik.ultimate.logic.NoopScript.getInterpolants(NoopScript.java:352) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.getInterpolants(WrapperScript.java:337) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.getInterpolants(WrapperScript.java:337) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.ManagedScript.getInterpolants(ManagedScript.java:192) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.NestedInterpolantsBuilder.computeCraigInterpolants(NestedInterpolantsBuilder.java:284) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.NestedInterpolantsBuilder.(NestedInterpolantsBuilder.java:165) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolantsRecursive(InterpolatingTraceCheckCraig.java:327) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolants(InterpolatingTraceCheckCraig.java:229) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:97) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleCraig.construct(IpTcStrategyModuleCraig.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleCraig.construct(IpTcStrategyModuleCraig.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:216) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:129) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:93) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:414) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:304) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:264) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:177) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 23:48:06,659 INFO L158 Benchmark]: Toolchain (without parser) took 19094.55ms. Allocated memory was 104.9MB in the beginning and 163.6MB in the end (delta: 58.7MB). Free memory was 76.0MB in the beginning and 130.4MB in the end (delta: -54.3MB). Peak memory consumption was 3.7MB. Max. memory is 16.1GB. [2022-02-20 23:48:06,659 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 104.9MB. Free memory is still 60.4MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:48:06,660 INFO L158 Benchmark]: CACSL2BoogieTranslator took 380.55ms. Allocated memory was 104.9MB in the beginning and 136.3MB in the end (delta: 31.5MB). Free memory was 75.7MB in the beginning and 102.8MB in the end (delta: -27.1MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 23:48:06,660 INFO L158 Benchmark]: Boogie Procedure Inliner took 63.88ms. Allocated memory is still 136.3MB. Free memory was 102.8MB in the beginning and 100.3MB in the end (delta: 2.5MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 23:48:06,660 INFO L158 Benchmark]: Boogie Preprocessor took 28.45ms. Allocated memory is still 136.3MB. Free memory was 100.3MB in the beginning and 99.0MB in the end (delta: 1.3MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:48:06,661 INFO L158 Benchmark]: RCFGBuilder took 532.87ms. Allocated memory is still 136.3MB. Free memory was 99.0MB in the beginning and 82.1MB in the end (delta: 16.9MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2022-02-20 23:48:06,661 INFO L158 Benchmark]: TraceAbstraction took 18083.81ms. Allocated memory was 136.3MB in the beginning and 163.6MB in the end (delta: 27.3MB). Free memory was 81.4MB in the beginning and 130.4MB in the end (delta: -49.0MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:48:06,664 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 104.9MB. Free memory is still 60.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 380.55ms. Allocated memory was 104.9MB in the beginning and 136.3MB in the end (delta: 31.5MB). Free memory was 75.7MB in the beginning and 102.8MB in the end (delta: -27.1MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 63.88ms. Allocated memory is still 136.3MB. Free memory was 102.8MB in the beginning and 100.3MB in the end (delta: 2.5MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 28.45ms. Allocated memory is still 136.3MB. Free memory was 100.3MB in the beginning and 99.0MB in the end (delta: 1.3MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 532.87ms. Allocated memory is still 136.3MB. Free memory was 99.0MB in the beginning and 82.1MB in the end (delta: 16.9MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * TraceAbstraction took 18083.81ms. Allocated memory was 136.3MB in the beginning and 163.6MB in the end (delta: 27.3MB). Free memory was 81.4MB in the beginning and 130.4MB in the end (delta: -49.0MB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: null de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: null: de.uni_freiburg.informatik.ultimate.smtinterpol.interpolate.ArrayInterpolator$WeakPathInfo$WeakPathEnd.addInterpolantClausePathSeg(ArrayInterpolator.java:2041) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 23:48:06,681 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 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/list-ext-properties/960521-1_1-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 2b468f3c6542f32922018ecd35f248815c64c681a62a7333b987abbfb42d9345 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:48:08,519 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:48:08,522 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:48:08,560 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:48:08,561 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:48:08,567 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:48:08,569 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:48:08,573 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:48:08,575 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:48:08,579 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:48:08,580 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:48:08,582 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:48:08,582 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:48:08,584 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:48:08,585 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:48:08,590 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:48:08,591 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:48:08,592 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:48:08,594 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:48:08,599 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:48:08,600 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:48:08,601 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:48:08,602 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:48:08,603 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:48:08,608 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:48:08,609 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:48:08,609 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:48:08,610 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:48:08,611 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:48:08,612 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:48:08,612 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:48:08,613 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:48:08,614 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:48:08,614 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:48:08,615 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:48:08,616 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:48:08,616 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:48:08,617 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:48:08,617 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:48:08,618 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:48:08,618 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:48:08,622 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:48:08,656 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:48:08,657 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:48:08,658 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:48:08,658 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:48:08,659 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:48:08,659 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:48:08,660 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:48:08,660 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:48:08,660 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:48:08,660 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:48:08,661 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:48:08,661 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:48:08,661 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:48:08,662 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:48:08,662 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:48:08,662 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:48:08,662 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:48:08,662 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:48:08,662 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:48:08,663 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:48:08,663 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:48:08,663 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:48:08,663 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:48:08,663 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:48:08,664 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:48:08,664 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:48:08,664 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:48:08,664 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:48:08,664 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:48:08,664 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:48:08,664 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:48:08,665 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:48:08,665 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:48:08,665 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 -> 2b468f3c6542f32922018ecd35f248815c64c681a62a7333b987abbfb42d9345 [2022-02-20 23:48:08,958 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:48:08,979 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:48:08,981 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:48:08,982 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:48:08,984 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:48:08,985 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-ext-properties/960521-1_1-2.i [2022-02-20 23:48:09,071 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9364690ac/f23ff59f9436461695320d4520b5152b/FLAG6d7357dfe [2022-02-20 23:48:09,554 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:48:09,555 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-ext-properties/960521-1_1-2.i [2022-02-20 23:48:09,574 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9364690ac/f23ff59f9436461695320d4520b5152b/FLAG6d7357dfe [2022-02-20 23:48:09,588 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9364690ac/f23ff59f9436461695320d4520b5152b [2022-02-20 23:48:09,590 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:48:09,592 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:48:09,595 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:48:09,595 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:48:09,598 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:48:09,600 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:48:09" (1/1) ... [2022-02-20 23:48:09,600 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6ce97385 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:09, skipping insertion in model container [2022-02-20 23:48:09,601 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:48:09" (1/1) ... [2022-02-20 23:48:09,607 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:48:09,651 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:48:09,956 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:48:09,967 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:48:10,010 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:48:10,062 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:48:10,063 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10 WrapperNode [2022-02-20 23:48:10,064 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:48:10,065 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:48:10,066 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:48:10,066 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:48:10,072 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:48:10" (1/1) ... [2022-02-20 23:48:10,088 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:48:10" (1/1) ... [2022-02-20 23:48:10,116 INFO L137 Inliner]: procedures = 125, calls = 18, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 78 [2022-02-20 23:48:10,116 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:48:10,117 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:48:10,117 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:48:10,117 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:48:10,124 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10" (1/1) ... [2022-02-20 23:48:10,124 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10" (1/1) ... [2022-02-20 23:48:10,141 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10" (1/1) ... [2022-02-20 23:48:10,142 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10" (1/1) ... [2022-02-20 23:48:10,148 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10" (1/1) ... [2022-02-20 23:48:10,151 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10" (1/1) ... [2022-02-20 23:48:10,153 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10" (1/1) ... [2022-02-20 23:48:10,155 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:48:10,156 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:48:10,156 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:48:10,156 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:48:10,157 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10" (1/1) ... [2022-02-20 23:48:10,162 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:48:10,172 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:10,192 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:48:10,204 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:48:10,226 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 23:48:10,226 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:48:10,226 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:48:10,226 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:48:10,227 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:48:10,227 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:48:10,227 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:48:10,227 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:48:10,312 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:48:10,313 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:48:10,600 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:48:10,606 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:48:10,618 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 23:48:10,619 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:48:10 BoogieIcfgContainer [2022-02-20 23:48:10,620 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:48:10,621 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:48:10,621 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:48:10,623 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:48:10,624 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:48:09" (1/3) ... [2022-02-20 23:48:10,624 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7bd0e464 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:48:10, skipping insertion in model container [2022-02-20 23:48:10,624 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:10" (2/3) ... [2022-02-20 23:48:10,624 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7bd0e464 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:48:10, skipping insertion in model container [2022-02-20 23:48:10,625 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:48:10" (3/3) ... [2022-02-20 23:48:10,626 INFO L111 eAbstractionObserver]: Analyzing ICFG 960521-1_1-2.i [2022-02-20 23:48:10,629 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:48:10,631 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 23 error locations. [2022-02-20 23:48:10,660 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:48:10,664 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:48:10,664 INFO L340 AbstractCegarLoop]: Starting to check reachability of 23 error locations. [2022-02-20 23:48:10,676 INFO L276 IsEmpty]: Start isEmpty. Operand has 56 states, 32 states have (on average 1.9375) internal successors, (62), 55 states have internal predecessors, (62), 0 states have call successors, (0), 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:48:10,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:48:10,680 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:10,681 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:48:10,681 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:10,685 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:10,685 INFO L85 PathProgramCache]: Analyzing trace with hash 28697864, now seen corresponding path program 1 times [2022-02-20 23:48:10,694 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:10,694 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [38623456] [2022-02-20 23:48:10,694 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:10,695 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:10,695 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:10,696 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:48:10,698 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:48:10,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:10,807 INFO L263 TraceCheckSpWp]: Trace formula consists of 39 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:48:10,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:10,825 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:10,923 INFO L356 Elim1Store]: treesize reduction 8, result has 60.0 percent of original size [2022-02-20 23:48:10,924 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 1 case distinctions, treesize of input 9 treesize of output 18 [2022-02-20 23:48:10,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {59#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {59#true} is VALID [2022-02-20 23:48:10,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {59#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {59#true} is VALID [2022-02-20 23:48:10,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {59#true} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {59#true} is VALID [2022-02-20 23:48:10,967 INFO L290 TraceCheckUtils]: 3: Hoare triple {59#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {73#(= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_#t~post9#1.base|))) (_ bv0 1))} is VALID [2022-02-20 23:48:10,968 INFO L290 TraceCheckUtils]: 4: Hoare triple {73#(= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_#t~post9#1.base|))) (_ bv0 1))} assume !(1bv1 == #valid[main_#t~post9#1.base]); {60#false} is VALID [2022-02-20 23:48:10,968 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:48:10,969 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:48:10,969 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:10,970 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [38623456] [2022-02-20 23:48:10,970 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [38623456] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:10,971 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:10,971 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:48:10,973 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1226013672] [2022-02-20 23:48:10,974 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:10,978 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 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 5 [2022-02-20 23:48:10,978 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:10,981 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:10,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:10,990 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:48:10,990 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:11,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:48:11,014 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:48:11,017 INFO L87 Difference]: Start difference. First operand has 56 states, 32 states have (on average 1.9375) internal successors, (62), 55 states have internal predecessors, (62), 0 states have call successors, (0), 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 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:11,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:11,239 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-02-20 23:48:11,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:48:11,239 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 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 5 [2022-02-20 23:48:11,239 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:11,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:11,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2022-02-20 23:48:11,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:11,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2022-02-20 23:48:11,248 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 62 transitions. [2022-02-20 23:48:11,331 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:11,347 INFO L225 Difference]: With dead ends: 55 [2022-02-20 23:48:11,348 INFO L226 Difference]: Without dead ends: 53 [2022-02-20 23:48:11,349 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:48:11,354 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 2 mSDsluCounter, 34 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:11,355 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 90 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:48:11,368 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-02-20 23:48:11,382 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-02-20 23:48:11,383 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:11,384 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 31 states have (on average 1.8064516129032258) internal successors, (56), 52 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:48:11,386 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 31 states have (on average 1.8064516129032258) internal successors, (56), 52 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:48:11,388 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 31 states have (on average 1.8064516129032258) internal successors, (56), 52 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:48:11,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:11,399 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2022-02-20 23:48:11,399 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2022-02-20 23:48:11,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:11,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:11,400 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 31 states have (on average 1.8064516129032258) internal successors, (56), 52 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 53 states. [2022-02-20 23:48:11,403 INFO L87 Difference]: Start difference. First operand has 53 states, 31 states have (on average 1.8064516129032258) internal successors, (56), 52 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 53 states. [2022-02-20 23:48:11,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:11,407 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2022-02-20 23:48:11,407 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2022-02-20 23:48:11,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:11,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:11,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:11,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:11,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 31 states have (on average 1.8064516129032258) internal successors, (56), 52 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:48:11,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 56 transitions. [2022-02-20 23:48:11,416 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 56 transitions. Word has length 5 [2022-02-20 23:48:11,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:11,418 INFO L470 AbstractCegarLoop]: Abstraction has 53 states and 56 transitions. [2022-02-20 23:48:11,418 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:11,419 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 56 transitions. [2022-02-20 23:48:11,419 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:48:11,419 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:11,420 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:48:11,427 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:48:11,623 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:48:11,624 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:11,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:11,624 INFO L85 PathProgramCache]: Analyzing trace with hash 28697865, now seen corresponding path program 1 times [2022-02-20 23:48:11,625 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:11,625 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2018212266] [2022-02-20 23:48:11,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:11,626 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:11,626 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:11,627 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:48:11,628 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:48:11,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:11,669 INFO L263 TraceCheckSpWp]: Trace formula consists of 39 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:48:11,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:11,677 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:11,729 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:48:11,730 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 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:48:11,751 INFO L290 TraceCheckUtils]: 0: Hoare triple {290#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {290#true} is VALID [2022-02-20 23:48:11,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {290#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {298#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:11,752 INFO L290 TraceCheckUtils]: 2: Hoare triple {298#(= ~n~0 (_ bv1 32))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {298#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:11,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {298#(= ~n~0 (_ bv1 32))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {305#(and (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (= |ULTIMATE.start_main_#t~post9#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:48:11,756 INFO L290 TraceCheckUtils]: 4: Hoare triple {305#(and (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (= |ULTIMATE.start_main_#t~post9#1.offset| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, main_#t~post9#1.offset), #length[main_#t~post9#1.base]) && ~bvule32(main_#t~post9#1.offset, ~bvadd32(4bv32, main_#t~post9#1.offset))) && ~bvule32(0bv32, main_#t~post9#1.offset)); {291#false} is VALID [2022-02-20 23:48:11,756 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:48:11,756 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:48:11,757 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:11,760 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2018212266] [2022-02-20 23:48:11,761 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2018212266] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:11,761 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:11,761 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:48:11,761 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1919941342] [2022-02-20 23:48:11,761 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:11,762 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 4 states have internal predecessors, (5), 0 states have call successors, (0), 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 5 [2022-02-20 23:48:11,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:11,763 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 4 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:11,770 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:11,771 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:48:11,771 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:11,771 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:48:11,771 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:48:11,772 INFO L87 Difference]: Start difference. First operand 53 states and 56 transitions. Second operand has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 4 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:12,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:12,167 INFO L93 Difference]: Finished difference Result 103 states and 109 transitions. [2022-02-20 23:48:12,167 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:48:12,167 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 4 states have internal predecessors, (5), 0 states have call successors, (0), 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 5 [2022-02-20 23:48:12,167 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:12,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 4 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:12,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 110 transitions. [2022-02-20 23:48:12,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 4 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:12,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 110 transitions. [2022-02-20 23:48:12,172 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 110 transitions. [2022-02-20 23:48:12,294 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:48:12,297 INFO L225 Difference]: With dead ends: 103 [2022-02-20 23:48:12,297 INFO L226 Difference]: Without dead ends: 103 [2022-02-20 23:48:12,297 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 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:48:12,298 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 52 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:12,298 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 122 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:12,299 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-02-20 23:48:12,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 56. [2022-02-20 23:48:12,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:12,304 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 56 states, 34 states have (on average 1.7647058823529411) internal successors, (60), 55 states have internal predecessors, (60), 0 states have call successors, (0), 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:48:12,304 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 56 states, 34 states have (on average 1.7647058823529411) internal successors, (60), 55 states have internal predecessors, (60), 0 states have call successors, (0), 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:48:12,304 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 56 states, 34 states have (on average 1.7647058823529411) internal successors, (60), 55 states have internal predecessors, (60), 0 states have call successors, (0), 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:48:12,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:12,308 INFO L93 Difference]: Finished difference Result 103 states and 109 transitions. [2022-02-20 23:48:12,308 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 109 transitions. [2022-02-20 23:48:12,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:12,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:12,310 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 34 states have (on average 1.7647058823529411) internal successors, (60), 55 states have internal predecessors, (60), 0 states have call successors, (0), 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 103 states. [2022-02-20 23:48:12,310 INFO L87 Difference]: Start difference. First operand has 56 states, 34 states have (on average 1.7647058823529411) internal successors, (60), 55 states have internal predecessors, (60), 0 states have call successors, (0), 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 103 states. [2022-02-20 23:48:12,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:12,313 INFO L93 Difference]: Finished difference Result 103 states and 109 transitions. [2022-02-20 23:48:12,314 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 109 transitions. [2022-02-20 23:48:12,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:12,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:12,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:12,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:12,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 34 states have (on average 1.7647058823529411) internal successors, (60), 55 states have internal predecessors, (60), 0 states have call successors, (0), 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:48:12,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 60 transitions. [2022-02-20 23:48:12,317 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 60 transitions. Word has length 5 [2022-02-20 23:48:12,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:12,317 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 60 transitions. [2022-02-20 23:48:12,317 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 4 states have internal predecessors, (5), 0 states have call successors, (0), 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:48:12,318 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 60 transitions. [2022-02-20 23:48:12,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:48:12,318 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:12,318 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:48:12,329 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Ended with exit code 0 [2022-02-20 23:48:12,526 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:48:12,527 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:12,527 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:12,527 INFO L85 PathProgramCache]: Analyzing trace with hash 889687556, now seen corresponding path program 1 times [2022-02-20 23:48:12,528 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:12,529 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1801605824] [2022-02-20 23:48:12,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:12,529 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:12,529 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:12,530 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:48:12,532 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:48:12,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:12,574 INFO L263 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:48:12,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:12,582 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:12,627 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:48:12,627 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 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:48:12,642 INFO L290 TraceCheckUtils]: 0: Hoare triple {675#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {675#true} is VALID [2022-02-20 23:48:12,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {675#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {683#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:12,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {683#(= ~n~0 (_ bv1 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {687#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} is VALID [2022-02-20 23:48:12,644 INFO L290 TraceCheckUtils]: 3: Hoare triple {687#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {687#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} is VALID [2022-02-20 23:48:12,646 INFO L290 TraceCheckUtils]: 4: Hoare triple {687#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {694#(and (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~post9#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:48:12,646 INFO L290 TraceCheckUtils]: 5: Hoare triple {694#(and (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~post9#1.offset| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, main_#t~post9#1.offset), #length[main_#t~post9#1.base]) && ~bvule32(main_#t~post9#1.offset, ~bvadd32(4bv32, main_#t~post9#1.offset))) && ~bvule32(0bv32, main_#t~post9#1.offset)); {676#false} is VALID [2022-02-20 23:48:12,647 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:48:12,647 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:12,752 INFO L290 TraceCheckUtils]: 5: Hoare triple {698#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~post9#1.offset|) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (bvule |ULTIMATE.start_main_#t~post9#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~post9#1.offset|)))} assume !((~bvule32(~bvadd32(4bv32, main_#t~post9#1.offset), #length[main_#t~post9#1.base]) && ~bvule32(main_#t~post9#1.offset, ~bvadd32(4bv32, main_#t~post9#1.offset))) && ~bvule32(0bv32, main_#t~post9#1.offset)); {676#false} is VALID [2022-02-20 23:48:12,754 INFO L290 TraceCheckUtils]: 4: Hoare triple {702#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {698#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~post9#1.offset|) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (bvule |ULTIMATE.start_main_#t~post9#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~post9#1.offset|)))} is VALID [2022-02-20 23:48:12,755 INFO L290 TraceCheckUtils]: 3: Hoare triple {702#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {702#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} is VALID [2022-02-20 23:48:12,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#(bvule (_ bv4 32) (bvadd (_ bv4 32) (bvmul (_ bv4 32) ~n~0)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {702#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} is VALID [2022-02-20 23:48:12,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {675#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {709#(bvule (_ bv4 32) (bvadd (_ bv4 32) (bvmul (_ bv4 32) ~n~0)))} is VALID [2022-02-20 23:48:12,757 INFO L290 TraceCheckUtils]: 0: Hoare triple {675#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {675#true} is VALID [2022-02-20 23:48:12,757 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:48:12,757 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:12,757 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1801605824] [2022-02-20 23:48:12,758 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1801605824] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:12,758 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:48:12,758 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2022-02-20 23:48:12,758 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [361415176] [2022-02-20 23:48:12,758 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:12,758 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 1.5714285714285714) internal successors, (11), 8 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 6 [2022-02-20 23:48:12,759 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:12,759 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 1.5714285714285714) internal successors, (11), 8 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:48:12,782 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:48:12,782 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:48:12,782 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:12,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:48:12,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:48:12,788 INFO L87 Difference]: Start difference. First operand 56 states and 60 transitions. Second operand has 8 states, 7 states have (on average 1.5714285714285714) internal successors, (11), 8 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:48:14,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:14,176 INFO L93 Difference]: Finished difference Result 253 states and 268 transitions. [2022-02-20 23:48:14,177 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:48:14,177 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 1.5714285714285714) internal successors, (11), 8 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 6 [2022-02-20 23:48:14,177 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:14,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 1.5714285714285714) internal successors, (11), 8 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:48:14,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 271 transitions. [2022-02-20 23:48:14,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 1.5714285714285714) internal successors, (11), 8 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:48:14,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 271 transitions. [2022-02-20 23:48:14,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 271 transitions. [2022-02-20 23:48:14,476 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 271 edges. 271 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:14,482 INFO L225 Difference]: With dead ends: 253 [2022-02-20 23:48:14,482 INFO L226 Difference]: Without dead ends: 253 [2022-02-20 23:48:14,483 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=102, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:48:14,484 INFO L933 BasicCegarLoop]: 85 mSDtfsCounter, 365 mSDsluCounter, 310 mSDsCounter, 0 mSdLazyCounter, 146 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 365 SdHoareTripleChecker+Valid, 395 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 146 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:14,484 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [365 Valid, 395 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 146 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:48:14,485 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states. [2022-02-20 23:48:14,489 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 59. [2022-02-20 23:48:14,489 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:14,490 INFO L82 GeneralOperation]: Start isEquivalent. First operand 253 states. Second operand has 59 states, 37 states have (on average 1.7837837837837838) internal successors, (66), 58 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:48:14,490 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand has 59 states, 37 states have (on average 1.7837837837837838) internal successors, (66), 58 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:48:14,490 INFO L87 Difference]: Start difference. First operand 253 states. Second operand has 59 states, 37 states have (on average 1.7837837837837838) internal successors, (66), 58 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:48:14,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:14,498 INFO L93 Difference]: Finished difference Result 253 states and 268 transitions. [2022-02-20 23:48:14,498 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 268 transitions. [2022-02-20 23:48:14,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:14,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:14,500 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 37 states have (on average 1.7837837837837838) internal successors, (66), 58 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 253 states. [2022-02-20 23:48:14,501 INFO L87 Difference]: Start difference. First operand has 59 states, 37 states have (on average 1.7837837837837838) internal successors, (66), 58 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 253 states. [2022-02-20 23:48:14,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:14,509 INFO L93 Difference]: Finished difference Result 253 states and 268 transitions. [2022-02-20 23:48:14,509 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 268 transitions. [2022-02-20 23:48:14,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:14,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:14,511 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:14,511 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:14,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 37 states have (on average 1.7837837837837838) internal successors, (66), 58 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:48:14,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 66 transitions. [2022-02-20 23:48:14,513 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 66 transitions. Word has length 6 [2022-02-20 23:48:14,513 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:14,513 INFO L470 AbstractCegarLoop]: Abstraction has 59 states and 66 transitions. [2022-02-20 23:48:14,513 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 1.5714285714285714) internal successors, (11), 8 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:48:14,513 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 66 transitions. [2022-02-20 23:48:14,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 23:48:14,514 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:14,514 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:14,525 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:48:14,722 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:48:14,723 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:14,723 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:14,723 INFO L85 PathProgramCache]: Analyzing trace with hash 239563854, now seen corresponding path program 1 times [2022-02-20 23:48:14,724 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:14,724 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [238331612] [2022-02-20 23:48:14,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:14,724 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:14,724 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:14,725 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:48:14,727 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:48:14,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:14,763 INFO L263 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:48:14,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:14,771 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:14,801 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:48:14,802 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 1 case distinctions, treesize of input 9 treesize of output 14 [2022-02-20 23:48:14,845 INFO L290 TraceCheckUtils]: 0: Hoare triple {1543#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {1543#true} is VALID [2022-02-20 23:48:14,846 INFO L290 TraceCheckUtils]: 1: Hoare triple {1543#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {1543#true} is VALID [2022-02-20 23:48:14,846 INFO L290 TraceCheckUtils]: 2: Hoare triple {1543#true} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {1543#true} is VALID [2022-02-20 23:48:14,848 INFO L290 TraceCheckUtils]: 3: Hoare triple {1543#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {1557#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| ~a~0.base))) (_ bv1 1)))} is VALID [2022-02-20 23:48:14,848 INFO L290 TraceCheckUtils]: 4: Hoare triple {1557#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| ~a~0.base))) (_ bv1 1)))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {1557#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| ~a~0.base))) (_ bv1 1)))} is VALID [2022-02-20 23:48:14,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {1557#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| ~a~0.base))) (_ bv1 1)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {1557#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| ~a~0.base))) (_ bv1 1)))} is VALID [2022-02-20 23:48:14,849 INFO L290 TraceCheckUtils]: 6: Hoare triple {1557#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| ~a~0.base))) (_ bv1 1)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {1557#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| ~a~0.base))) (_ bv1 1)))} is VALID [2022-02-20 23:48:14,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {1557#(= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| ~a~0.base))) (_ bv1 1)))} assume !(1bv1 == #valid[~a~0.base]); {1544#false} is VALID [2022-02-20 23:48:14,850 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:48:14,850 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:48:14,850 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:14,850 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [238331612] [2022-02-20 23:48:14,850 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [238331612] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:14,851 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:14,851 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:48:14,851 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1084312626] [2022-02-20 23:48:14,851 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:14,851 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 4.0) internal successors, (8), 3 states have internal predecessors, (8), 0 states have call successors, (0), 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 8 [2022-02-20 23:48:14,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:14,852 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 4.0) internal successors, (8), 3 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:14,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:14,860 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:48:14,860 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:14,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:48:14,861 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:48:14,861 INFO L87 Difference]: Start difference. First operand 59 states and 66 transitions. Second operand has 3 states, 2 states have (on average 4.0) internal successors, (8), 3 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:14,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:14,989 INFO L93 Difference]: Finished difference Result 56 states and 63 transitions. [2022-02-20 23:48:14,989 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:48:14,990 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 4.0) internal successors, (8), 3 states have internal predecessors, (8), 0 states have call successors, (0), 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 8 [2022-02-20 23:48:14,990 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:14,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 4.0) internal successors, (8), 3 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:14,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 56 transitions. [2022-02-20 23:48:14,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 4.0) internal successors, (8), 3 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:14,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 56 transitions. [2022-02-20 23:48:14,992 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 56 transitions. [2022-02-20 23:48:15,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:15,046 INFO L225 Difference]: With dead ends: 56 [2022-02-20 23:48:15,046 INFO L226 Difference]: Without dead ends: 56 [2022-02-20 23:48:15,047 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 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:48:15,047 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 29 mSDsluCounter, 11 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 26 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:15,048 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 49 Invalid, 26 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:48:15,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-02-20 23:48:15,051 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-02-20 23:48:15,051 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:15,051 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 37 states have (on average 1.7027027027027026) internal successors, (63), 55 states have internal predecessors, (63), 0 states have call successors, (0), 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:48:15,052 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 37 states have (on average 1.7027027027027026) internal successors, (63), 55 states have internal predecessors, (63), 0 states have call successors, (0), 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:48:15,052 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 37 states have (on average 1.7027027027027026) internal successors, (63), 55 states have internal predecessors, (63), 0 states have call successors, (0), 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:48:15,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:15,053 INFO L93 Difference]: Finished difference Result 56 states and 63 transitions. [2022-02-20 23:48:15,053 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 63 transitions. [2022-02-20 23:48:15,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:15,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:15,054 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 37 states have (on average 1.7027027027027026) internal successors, (63), 55 states have internal predecessors, (63), 0 states have call successors, (0), 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 56 states. [2022-02-20 23:48:15,054 INFO L87 Difference]: Start difference. First operand has 56 states, 37 states have (on average 1.7027027027027026) internal successors, (63), 55 states have internal predecessors, (63), 0 states have call successors, (0), 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 56 states. [2022-02-20 23:48:15,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:15,056 INFO L93 Difference]: Finished difference Result 56 states and 63 transitions. [2022-02-20 23:48:15,056 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 63 transitions. [2022-02-20 23:48:15,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:15,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:15,056 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:15,056 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:15,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 37 states have (on average 1.7027027027027026) internal successors, (63), 55 states have internal predecessors, (63), 0 states have call successors, (0), 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:48:15,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 63 transitions. [2022-02-20 23:48:15,058 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 63 transitions. Word has length 8 [2022-02-20 23:48:15,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:15,058 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 63 transitions. [2022-02-20 23:48:15,058 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 4.0) internal successors, (8), 3 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:15,058 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 63 transitions. [2022-02-20 23:48:15,058 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 23:48:15,058 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:15,059 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:15,067 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Ended with exit code 0 [2022-02-20 23:48:15,266 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:48:15,267 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:15,267 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:15,267 INFO L85 PathProgramCache]: Analyzing trace with hash 239563855, now seen corresponding path program 1 times [2022-02-20 23:48:15,268 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:15,268 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1155377110] [2022-02-20 23:48:15,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:15,268 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:15,268 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:15,269 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:48:15,270 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:48:15,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:15,320 INFO L263 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:48:15,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:15,328 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:15,369 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:48:15,370 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 1 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:48:15,439 INFO L290 TraceCheckUtils]: 0: Hoare triple {1793#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {1793#true} is VALID [2022-02-20 23:48:15,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {1793#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {1801#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:15,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {1801#(= ~n~0 (_ bv1 32))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {1801#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:15,442 INFO L290 TraceCheckUtils]: 3: Hoare triple {1801#(= ~n~0 (_ bv1 32))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {1808#(and (= (_ bv4 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:15,443 INFO L290 TraceCheckUtils]: 4: Hoare triple {1808#(and (= (_ bv4 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {1808#(and (= (_ bv4 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:15,443 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#(and (= (_ bv4 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {1815#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (_ bv4 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:15,444 INFO L290 TraceCheckUtils]: 6: Hoare triple {1815#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (_ bv4 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {1815#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (_ bv4 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:15,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {1815#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (_ bv4 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))), #length[~a~0.base]) && ~bvule32(~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)))); {1794#false} is VALID [2022-02-20 23:48:15,445 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:48:15,445 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:48:15,445 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:15,445 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1155377110] [2022-02-20 23:48:15,446 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1155377110] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:15,446 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:15,446 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:48:15,446 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1661586034] [2022-02-20 23:48:15,446 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:15,447 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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 8 [2022-02-20 23:48:15,447 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:15,447 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:15,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:15,458 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:48:15,458 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:15,460 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:48:15,460 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:15,460 INFO L87 Difference]: Start difference. First operand 56 states and 63 transitions. Second operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:16,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:16,015 INFO L93 Difference]: Finished difference Result 99 states and 107 transitions. [2022-02-20 23:48:16,015 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:48:16,016 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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 8 [2022-02-20 23:48:16,016 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:16,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:16,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 104 transitions. [2022-02-20 23:48:16,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:16,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 104 transitions. [2022-02-20 23:48:16,018 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 104 transitions. [2022-02-20 23:48:16,138 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:16,141 INFO L225 Difference]: With dead ends: 99 [2022-02-20 23:48:16,141 INFO L226 Difference]: Without dead ends: 99 [2022-02-20 23:48:16,141 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 4 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:48:16,142 INFO L933 BasicCegarLoop]: 66 mSDtfsCounter, 83 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 83 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:16,142 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [83 Valid, 155 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:48:16,143 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-02-20 23:48:16,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 72. [2022-02-20 23:48:16,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:16,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 72 states, 53 states have (on average 1.6226415094339623) internal successors, (86), 71 states have internal predecessors, (86), 0 states have call successors, (0), 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:48:16,146 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 72 states, 53 states have (on average 1.6226415094339623) internal successors, (86), 71 states have internal predecessors, (86), 0 states have call successors, (0), 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:48:16,146 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 72 states, 53 states have (on average 1.6226415094339623) internal successors, (86), 71 states have internal predecessors, (86), 0 states have call successors, (0), 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:48:16,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:16,149 INFO L93 Difference]: Finished difference Result 99 states and 107 transitions. [2022-02-20 23:48:16,149 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 107 transitions. [2022-02-20 23:48:16,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:16,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:16,150 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 53 states have (on average 1.6226415094339623) internal successors, (86), 71 states have internal predecessors, (86), 0 states have call successors, (0), 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 99 states. [2022-02-20 23:48:16,150 INFO L87 Difference]: Start difference. First operand has 72 states, 53 states have (on average 1.6226415094339623) internal successors, (86), 71 states have internal predecessors, (86), 0 states have call successors, (0), 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 99 states. [2022-02-20 23:48:16,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:16,153 INFO L93 Difference]: Finished difference Result 99 states and 107 transitions. [2022-02-20 23:48:16,153 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 107 transitions. [2022-02-20 23:48:16,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:16,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:16,154 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:16,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:16,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 53 states have (on average 1.6226415094339623) internal successors, (86), 71 states have internal predecessors, (86), 0 states have call successors, (0), 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:48:16,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 86 transitions. [2022-02-20 23:48:16,156 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 86 transitions. Word has length 8 [2022-02-20 23:48:16,156 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:16,156 INFO L470 AbstractCegarLoop]: Abstraction has 72 states and 86 transitions. [2022-02-20 23:48:16,157 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 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:48:16,157 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-02-20 23:48:16,157 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:48:16,157 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:16,157 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:16,168 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:48:16,366 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:48:16,366 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:16,366 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:16,367 INFO L85 PathProgramCache]: Analyzing trace with hash 438756724, now seen corresponding path program 1 times [2022-02-20 23:48:16,367 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:16,367 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [254855324] [2022-02-20 23:48:16,367 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:16,367 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:16,367 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:16,369 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:48:16,370 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:48:16,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:16,422 INFO L263 TraceCheckSpWp]: Trace formula consists of 51 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:48:16,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:16,431 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:16,500 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:48:16,500 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 1 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:48:16,592 INFO L290 TraceCheckUtils]: 0: Hoare triple {2194#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {2194#true} is VALID [2022-02-20 23:48:16,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {2194#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {2202#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:16,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {2202#(= ~n~0 (_ bv1 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {2206#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} is VALID [2022-02-20 23:48:16,594 INFO L290 TraceCheckUtils]: 3: Hoare triple {2206#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {2206#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} is VALID [2022-02-20 23:48:16,596 INFO L290 TraceCheckUtils]: 4: Hoare triple {2206#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {2213#(and (= (_ bv8 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:16,596 INFO L290 TraceCheckUtils]: 5: Hoare triple {2213#(and (= (_ bv8 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {2213#(and (= (_ bv8 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:16,597 INFO L290 TraceCheckUtils]: 6: Hoare triple {2213#(and (= (_ bv8 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {2220#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (_ bv8 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:16,597 INFO L290 TraceCheckUtils]: 7: Hoare triple {2220#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (_ bv8 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {2220#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (_ bv8 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:16,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {2220#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (_ bv8 32) (select |#length| ~a~0.base)) (= ~a~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))), #length[~a~0.base]) && ~bvule32(~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)))); {2195#false} is VALID [2022-02-20 23:48:16,598 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:48:16,598 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:16,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {2227#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))), #length[~a~0.base]) && ~bvule32(~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)))); {2195#false} is VALID [2022-02-20 23:48:16,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {2227#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {2227#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)))} is VALID [2022-02-20 23:48:16,818 INFO L290 TraceCheckUtils]: 6: Hoare triple {2234#(and (bvule (bvadd (_ bv4 32) ~a~0.offset) (select |#length| ~a~0.base)) (bvule ~a~0.offset (bvadd (_ bv4 32) ~a~0.offset)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {2227#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)))} is VALID [2022-02-20 23:48:16,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {2234#(and (bvule (bvadd (_ bv4 32) ~a~0.offset) (select |#length| ~a~0.base)) (bvule ~a~0.offset (bvadd (_ bv4 32) ~a~0.offset)))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {2234#(and (bvule (bvadd (_ bv4 32) ~a~0.offset) (select |#length| ~a~0.base)) (bvule ~a~0.offset (bvadd (_ bv4 32) ~a~0.offset)))} is VALID [2022-02-20 23:48:16,827 INFO L290 TraceCheckUtils]: 4: Hoare triple {2241#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {2234#(and (bvule (bvadd (_ bv4 32) ~a~0.offset) (select |#length| ~a~0.base)) (bvule ~a~0.offset (bvadd (_ bv4 32) ~a~0.offset)))} is VALID [2022-02-20 23:48:16,828 INFO L290 TraceCheckUtils]: 3: Hoare triple {2241#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {2241#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} is VALID [2022-02-20 23:48:16,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {2248#(bvule (_ bv4 32) (bvadd (_ bv4 32) (bvmul (_ bv4 32) ~n~0)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {2241#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} is VALID [2022-02-20 23:48:16,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {2194#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {2248#(bvule (_ bv4 32) (bvadd (_ bv4 32) (bvmul (_ bv4 32) ~n~0)))} is VALID [2022-02-20 23:48:16,831 INFO L290 TraceCheckUtils]: 0: Hoare triple {2194#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {2194#true} is VALID [2022-02-20 23:48:16,831 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:48:16,832 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:16,832 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [254855324] [2022-02-20 23:48:16,832 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [254855324] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:16,832 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:48:16,832 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 9 [2022-02-20 23:48:16,832 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [650772031] [2022-02-20 23:48:16,832 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:16,833 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 1.8888888888888888) internal successors, (17), 10 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 9 [2022-02-20 23:48:16,837 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:16,837 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 1.8888888888888888) internal successors, (17), 10 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:48:16,865 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:48:16,865 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:48:16,865 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:16,866 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:48:16,866 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:48:16,866 INFO L87 Difference]: Start difference. First operand 72 states and 86 transitions. Second operand has 10 states, 9 states have (on average 1.8888888888888888) internal successors, (17), 10 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:48:21,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:21,106 INFO L93 Difference]: Finished difference Result 361 states and 381 transitions. [2022-02-20 23:48:21,106 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-02-20 23:48:21,106 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 1.8888888888888888) internal successors, (17), 10 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 9 [2022-02-20 23:48:21,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:21,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 1.8888888888888888) internal successors, (17), 10 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:48:21,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 391 transitions. [2022-02-20 23:48:21,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 1.8888888888888888) internal successors, (17), 10 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:48:21,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 391 transitions. [2022-02-20 23:48:21,125 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 391 transitions. [2022-02-20 23:48:21,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 391 edges. 391 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:21,736 INFO L225 Difference]: With dead ends: 361 [2022-02-20 23:48:21,737 INFO L226 Difference]: Without dead ends: 361 [2022-02-20 23:48:21,737 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=120, Invalid=260, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:48:21,738 INFO L933 BasicCegarLoop]: 67 mSDtfsCounter, 783 mSDsluCounter, 337 mSDsCounter, 0 mSdLazyCounter, 401 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 783 SdHoareTripleChecker+Valid, 404 SdHoareTripleChecker+Invalid, 446 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 401 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:21,738 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [783 Valid, 404 Invalid, 446 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 401 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-02-20 23:48:21,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 361 states. [2022-02-20 23:48:21,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 361 to 91. [2022-02-20 23:48:21,744 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:21,744 INFO L82 GeneralOperation]: Start isEquivalent. First operand 361 states. Second operand has 91 states, 72 states have (on average 1.5555555555555556) internal successors, (112), 90 states have internal predecessors, (112), 0 states have call successors, (0), 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:48:21,744 INFO L74 IsIncluded]: Start isIncluded. First operand 361 states. Second operand has 91 states, 72 states have (on average 1.5555555555555556) internal successors, (112), 90 states have internal predecessors, (112), 0 states have call successors, (0), 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:48:21,745 INFO L87 Difference]: Start difference. First operand 361 states. Second operand has 91 states, 72 states have (on average 1.5555555555555556) internal successors, (112), 90 states have internal predecessors, (112), 0 states have call successors, (0), 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:48:21,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:21,754 INFO L93 Difference]: Finished difference Result 361 states and 381 transitions. [2022-02-20 23:48:21,754 INFO L276 IsEmpty]: Start isEmpty. Operand 361 states and 381 transitions. [2022-02-20 23:48:21,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:21,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:21,755 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 72 states have (on average 1.5555555555555556) internal successors, (112), 90 states have internal predecessors, (112), 0 states have call successors, (0), 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 361 states. [2022-02-20 23:48:21,756 INFO L87 Difference]: Start difference. First operand has 91 states, 72 states have (on average 1.5555555555555556) internal successors, (112), 90 states have internal predecessors, (112), 0 states have call successors, (0), 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 361 states. [2022-02-20 23:48:21,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:21,765 INFO L93 Difference]: Finished difference Result 361 states and 381 transitions. [2022-02-20 23:48:21,765 INFO L276 IsEmpty]: Start isEmpty. Operand 361 states and 381 transitions. [2022-02-20 23:48:21,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:21,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:21,766 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:21,766 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:21,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 72 states have (on average 1.5555555555555556) internal successors, (112), 90 states have internal predecessors, (112), 0 states have call successors, (0), 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:48:21,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 112 transitions. [2022-02-20 23:48:21,768 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 112 transitions. Word has length 9 [2022-02-20 23:48:21,768 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:21,769 INFO L470 AbstractCegarLoop]: Abstraction has 91 states and 112 transitions. [2022-02-20 23:48:21,769 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 1.8888888888888888) internal successors, (17), 10 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:48:21,769 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 112 transitions. [2022-02-20 23:48:21,769 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:48:21,769 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:21,770 INFO L514 BasicCegarLoop]: trace histogram [4, 1, 1, 1, 1, 1] [2022-02-20 23:48:21,782 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Ended with exit code 0 [2022-02-20 23:48:21,978 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:48:21,978 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:21,979 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:21,979 INFO L85 PathProgramCache]: Analyzing trace with hash 492161993, now seen corresponding path program 2 times [2022-02-20 23:48:21,979 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:21,979 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [85896439] [2022-02-20 23:48:21,980 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:48:21,980 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:21,980 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:21,981 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:48:21,983 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:48:22,033 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:48:22,034 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:48:22,035 INFO L263 TraceCheckSpWp]: Trace formula consists of 51 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:48:22,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:22,043 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:22,183 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:48:22,183 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 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:48:22,203 INFO L290 TraceCheckUtils]: 0: Hoare triple {3448#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {3448#true} is VALID [2022-02-20 23:48:22,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {3448#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {3456#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:22,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {3456#(= ~n~0 (_ bv1 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {3460#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} is VALID [2022-02-20 23:48:22,205 INFO L290 TraceCheckUtils]: 3: Hoare triple {3460#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {3464#(= (bvadd ~n~0 (_ bv4294967294 32)) (_ bv1 32))} is VALID [2022-02-20 23:48:22,205 INFO L290 TraceCheckUtils]: 4: Hoare triple {3464#(= (bvadd ~n~0 (_ bv4294967294 32)) (_ bv1 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {3468#(= (bvadd ~n~0 (_ bv4294967293 32)) (_ bv1 32))} is VALID [2022-02-20 23:48:22,206 INFO L290 TraceCheckUtils]: 5: Hoare triple {3468#(= (bvadd ~n~0 (_ bv4294967293 32)) (_ bv1 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {3472#(= (_ bv1 32) (bvadd (_ bv4294967292 32) ~n~0))} is VALID [2022-02-20 23:48:22,206 INFO L290 TraceCheckUtils]: 6: Hoare triple {3472#(= (_ bv1 32) (bvadd (_ bv4294967292 32) ~n~0))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {3472#(= (_ bv1 32) (bvadd (_ bv4294967292 32) ~n~0))} is VALID [2022-02-20 23:48:22,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {3472#(= (_ bv1 32) (bvadd (_ bv4294967292 32) ~n~0))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {3479#(and (= |ULTIMATE.start_main_#t~post9#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (_ bv20 32)))} is VALID [2022-02-20 23:48:22,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {3479#(and (= |ULTIMATE.start_main_#t~post9#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (_ bv20 32)))} assume !((~bvule32(~bvadd32(4bv32, main_#t~post9#1.offset), #length[main_#t~post9#1.base]) && ~bvule32(main_#t~post9#1.offset, ~bvadd32(4bv32, main_#t~post9#1.offset))) && ~bvule32(0bv32, main_#t~post9#1.offset)); {3449#false} is VALID [2022-02-20 23:48:22,209 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:22,209 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:22,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {3483#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~post9#1.offset|) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (bvule |ULTIMATE.start_main_#t~post9#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~post9#1.offset|)))} assume !((~bvule32(~bvadd32(4bv32, main_#t~post9#1.offset), #length[main_#t~post9#1.base]) && ~bvule32(main_#t~post9#1.offset, ~bvadd32(4bv32, main_#t~post9#1.offset))) && ~bvule32(0bv32, main_#t~post9#1.offset)); {3449#false} is VALID [2022-02-20 23:48:22,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {3487#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {3483#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~post9#1.offset|) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)) (bvule |ULTIMATE.start_main_#t~post9#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_main_#t~post9#1.offset|)))} is VALID [2022-02-20 23:48:22,377 INFO L290 TraceCheckUtils]: 6: Hoare triple {3487#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {3487#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} is VALID [2022-02-20 23:48:22,379 INFO L290 TraceCheckUtils]: 5: Hoare triple {3494#(bvule (_ bv4 32) (bvadd (_ bv4 32) (bvmul (_ bv4 32) ~n~0)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {3487#(bvule (_ bv4 32) (bvmul (_ bv4 32) ~n~0))} is VALID [2022-02-20 23:48:22,380 INFO L290 TraceCheckUtils]: 4: Hoare triple {3498#(bvule (_ bv4 32) (bvadd (_ bv8 32) (bvmul (_ bv4 32) ~n~0)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {3494#(bvule (_ bv4 32) (bvadd (_ bv4 32) (bvmul (_ bv4 32) ~n~0)))} is VALID [2022-02-20 23:48:22,382 INFO L290 TraceCheckUtils]: 3: Hoare triple {3502#(bvule (_ bv4 32) (bvadd (bvmul (_ bv4 32) ~n~0) (_ bv12 32)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {3498#(bvule (_ bv4 32) (bvadd (_ bv8 32) (bvmul (_ bv4 32) ~n~0)))} is VALID [2022-02-20 23:48:22,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {3506#(bvule (_ bv4 32) (bvadd (_ bv16 32) (bvmul (_ bv4 32) ~n~0)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {3502#(bvule (_ bv4 32) (bvadd (bvmul (_ bv4 32) ~n~0) (_ bv12 32)))} is VALID [2022-02-20 23:48:22,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {3448#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {3506#(bvule (_ bv4 32) (bvadd (_ bv16 32) (bvmul (_ bv4 32) ~n~0)))} is VALID [2022-02-20 23:48:22,384 INFO L290 TraceCheckUtils]: 0: Hoare triple {3448#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {3448#true} is VALID [2022-02-20 23:48:22,384 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:22,385 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:22,385 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [85896439] [2022-02-20 23:48:22,385 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [85896439] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:22,385 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:48:22,385 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 13 [2022-02-20 23:48:22,385 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [343008713] [2022-02-20 23:48:22,385 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:22,385 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 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 9 [2022-02-20 23:48:22,386 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:22,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 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:48:22,407 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:48:22,407 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 23:48:22,407 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:22,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 23:48:22,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=131, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:48:22,408 INFO L87 Difference]: Start difference. First operand 91 states and 112 transitions. Second operand has 14 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 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:48:26,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:26,201 INFO L93 Difference]: Finished difference Result 524 states and 559 transitions. [2022-02-20 23:48:26,201 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-02-20 23:48:26,202 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 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 9 [2022-02-20 23:48:26,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:26,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 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:48:26,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 550 transitions. [2022-02-20 23:48:26,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 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:48:26,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 550 transitions. [2022-02-20 23:48:26,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 550 transitions. [2022-02-20 23:48:26,796 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 550 edges. 550 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:26,808 INFO L225 Difference]: With dead ends: 524 [2022-02-20 23:48:26,808 INFO L226 Difference]: Without dead ends: 524 [2022-02-20 23:48:26,808 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=258, Invalid=554, Unknown=0, NotChecked=0, Total=812 [2022-02-20 23:48:26,809 INFO L933 BasicCegarLoop]: 186 mSDtfsCounter, 1393 mSDsluCounter, 1088 mSDsCounter, 0 mSdLazyCounter, 442 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1393 SdHoareTripleChecker+Valid, 1274 SdHoareTripleChecker+Invalid, 456 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 442 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:26,809 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1393 Valid, 1274 Invalid, 456 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 442 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-20 23:48:26,810 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 524 states. [2022-02-20 23:48:26,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 524 to 99. [2022-02-20 23:48:26,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:26,815 INFO L82 GeneralOperation]: Start isEquivalent. First operand 524 states. Second operand has 99 states, 80 states have (on average 1.575) internal successors, (126), 98 states have internal predecessors, (126), 0 states have call successors, (0), 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:48:26,815 INFO L74 IsIncluded]: Start isIncluded. First operand 524 states. Second operand has 99 states, 80 states have (on average 1.575) internal successors, (126), 98 states have internal predecessors, (126), 0 states have call successors, (0), 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:48:26,816 INFO L87 Difference]: Start difference. First operand 524 states. Second operand has 99 states, 80 states have (on average 1.575) internal successors, (126), 98 states have internal predecessors, (126), 0 states have call successors, (0), 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:48:26,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:26,831 INFO L93 Difference]: Finished difference Result 524 states and 559 transitions. [2022-02-20 23:48:26,832 INFO L276 IsEmpty]: Start isEmpty. Operand 524 states and 559 transitions. [2022-02-20 23:48:26,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:26,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:26,833 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 80 states have (on average 1.575) internal successors, (126), 98 states have internal predecessors, (126), 0 states have call successors, (0), 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 524 states. [2022-02-20 23:48:26,833 INFO L87 Difference]: Start difference. First operand has 99 states, 80 states have (on average 1.575) internal successors, (126), 98 states have internal predecessors, (126), 0 states have call successors, (0), 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 524 states. [2022-02-20 23:48:26,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:26,848 INFO L93 Difference]: Finished difference Result 524 states and 559 transitions. [2022-02-20 23:48:26,848 INFO L276 IsEmpty]: Start isEmpty. Operand 524 states and 559 transitions. [2022-02-20 23:48:26,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:26,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:26,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:26,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:26,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 80 states have (on average 1.575) internal successors, (126), 98 states have internal predecessors, (126), 0 states have call successors, (0), 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:48:26,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 126 transitions. [2022-02-20 23:48:26,851 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 126 transitions. Word has length 9 [2022-02-20 23:48:26,851 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:26,851 INFO L470 AbstractCegarLoop]: Abstraction has 99 states and 126 transitions. [2022-02-20 23:48:26,852 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 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:48:26,852 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 126 transitions. [2022-02-20 23:48:26,852 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:48:26,852 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:26,852 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:26,863 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:48:27,064 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:48:27,064 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:27,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:27,065 INFO L85 PathProgramCache]: Analyzing trace with hash -1388869610, now seen corresponding path program 1 times [2022-02-20 23:48:27,065 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:27,065 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1377533776] [2022-02-20 23:48:27,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:27,066 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:27,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:27,067 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:48:27,068 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:48:27,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:27,105 INFO L263 TraceCheckSpWp]: Trace formula consists of 57 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:48:27,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:27,110 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:27,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {5213#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {5213#true} is VALID [2022-02-20 23:48:27,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {5213#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {5221#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:27,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {5221#(= ~n~0 (_ bv1 32))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {5221#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:27,180 INFO L290 TraceCheckUtils]: 3: Hoare triple {5221#(= ~n~0 (_ bv1 32))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {5221#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:27,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {5221#(= ~n~0 (_ bv1 32))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {5221#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:27,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {5221#(= ~n~0 (_ bv1 32))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {5234#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~n~0 (_ bv1 32)))} is VALID [2022-02-20 23:48:27,182 INFO L290 TraceCheckUtils]: 6: Hoare triple {5234#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~n~0 (_ bv1 32)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {5234#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~n~0 (_ bv1 32)))} is VALID [2022-02-20 23:48:27,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {5234#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~n~0 (_ bv1 32)))} SUMMARY for call write~intINTTYPE4(~n~0, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), 4bv32); srcloc: L530 {5234#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~n~0 (_ bv1 32)))} is VALID [2022-02-20 23:48:27,183 INFO L290 TraceCheckUtils]: 8: Hoare triple {5234#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~n~0 (_ bv1 32)))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := ~bvadd32(1bv32, foo_#t~post3#1);havoc foo_#t~post3#1; {5244#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv1 32)) (= ~n~0 (_ bv1 32)))} is VALID [2022-02-20 23:48:27,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {5244#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv1 32)) (= ~n~0 (_ bv1 32)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {5214#false} is VALID [2022-02-20 23:48:27,184 INFO L290 TraceCheckUtils]: 10: Hoare triple {5214#false} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))), #length[~a~0.base]) && ~bvule32(~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)))); {5214#false} is VALID [2022-02-20 23:48:27,184 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:48:27,184 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:27,233 INFO L290 TraceCheckUtils]: 10: Hoare triple {5214#false} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))), #length[~a~0.base]) && ~bvule32(~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)))); {5214#false} is VALID [2022-02-20 23:48:27,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {5254#(not (bvslt |ULTIMATE.start_foo_~i~0#1| ~n~0))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {5214#false} is VALID [2022-02-20 23:48:27,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {5258#(not (bvslt (bvadd |ULTIMATE.start_foo_~i~0#1| (_ bv1 32)) ~n~0))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := ~bvadd32(1bv32, foo_#t~post3#1);havoc foo_#t~post3#1; {5254#(not (bvslt |ULTIMATE.start_foo_~i~0#1| ~n~0))} is VALID [2022-02-20 23:48:27,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {5258#(not (bvslt (bvadd |ULTIMATE.start_foo_~i~0#1| (_ bv1 32)) ~n~0))} SUMMARY for call write~intINTTYPE4(~n~0, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), 4bv32); srcloc: L530 {5258#(not (bvslt (bvadd |ULTIMATE.start_foo_~i~0#1| (_ bv1 32)) ~n~0))} is VALID [2022-02-20 23:48:27,234 INFO L290 TraceCheckUtils]: 6: Hoare triple {5258#(not (bvslt (bvadd |ULTIMATE.start_foo_~i~0#1| (_ bv1 32)) ~n~0))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {5258#(not (bvslt (bvadd |ULTIMATE.start_foo_~i~0#1| (_ bv1 32)) ~n~0))} is VALID [2022-02-20 23:48:27,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {5268#(not (bvslt (_ bv1 32) ~n~0))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {5258#(not (bvslt (bvadd |ULTIMATE.start_foo_~i~0#1| (_ bv1 32)) ~n~0))} is VALID [2022-02-20 23:48:27,235 INFO L290 TraceCheckUtils]: 4: Hoare triple {5268#(not (bvslt (_ bv1 32) ~n~0))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {5268#(not (bvslt (_ bv1 32) ~n~0))} is VALID [2022-02-20 23:48:27,236 INFO L290 TraceCheckUtils]: 3: Hoare triple {5268#(not (bvslt (_ bv1 32) ~n~0))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {5268#(not (bvslt (_ bv1 32) ~n~0))} is VALID [2022-02-20 23:48:27,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {5268#(not (bvslt (_ bv1 32) ~n~0))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {5268#(not (bvslt (_ bv1 32) ~n~0))} is VALID [2022-02-20 23:48:27,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {5213#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {5268#(not (bvslt (_ bv1 32) ~n~0))} is VALID [2022-02-20 23:48:27,237 INFO L290 TraceCheckUtils]: 0: Hoare triple {5213#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {5213#true} is VALID [2022-02-20 23:48:27,237 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:48:27,237 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:27,237 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1377533776] [2022-02-20 23:48:27,237 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1377533776] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:27,237 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:48:27,238 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-02-20 23:48:27,238 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1792659716] [2022-02-20 23:48:27,238 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:27,238 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 8 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:48:27,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:27,238 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.5) internal successors, (20), 8 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:48:27,261 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:48:27,261 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:48:27,262 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:27,262 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:48:27,262 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:48:27,262 INFO L87 Difference]: Start difference. First operand 99 states and 126 transitions. Second operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 8 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:48:27,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:27,695 INFO L93 Difference]: Finished difference Result 129 states and 154 transitions. [2022-02-20 23:48:27,695 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:48:27,695 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 8 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:48:27,696 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:27,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 8 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:48:27,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 96 transitions. [2022-02-20 23:48:27,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 8 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:48:27,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 96 transitions. [2022-02-20 23:48:27,697 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 96 transitions. [2022-02-20 23:48:27,781 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:48:27,783 INFO L225 Difference]: With dead ends: 129 [2022-02-20 23:48:27,783 INFO L226 Difference]: Without dead ends: 129 [2022-02-20 23:48:27,783 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:48:27,784 INFO L933 BasicCegarLoop]: 76 mSDtfsCounter, 74 mSDsluCounter, 134 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 74 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:27,784 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [74 Valid, 210 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:27,785 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-02-20 23:48:27,788 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 98. [2022-02-20 23:48:27,788 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:27,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 98 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 97 states have internal predecessors, (123), 0 states have call successors, (0), 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:48:27,789 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 98 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 97 states have internal predecessors, (123), 0 states have call successors, (0), 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:48:27,789 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 98 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 97 states have internal predecessors, (123), 0 states have call successors, (0), 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:48:27,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:27,791 INFO L93 Difference]: Finished difference Result 129 states and 154 transitions. [2022-02-20 23:48:27,791 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 154 transitions. [2022-02-20 23:48:27,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:27,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:27,792 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 97 states have internal predecessors, (123), 0 states have call successors, (0), 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 129 states. [2022-02-20 23:48:27,792 INFO L87 Difference]: Start difference. First operand has 98 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 97 states have internal predecessors, (123), 0 states have call successors, (0), 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 129 states. [2022-02-20 23:48:27,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:27,794 INFO L93 Difference]: Finished difference Result 129 states and 154 transitions. [2022-02-20 23:48:27,794 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 154 transitions. [2022-02-20 23:48:27,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:27,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:27,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:27,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:27,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 97 states have internal predecessors, (123), 0 states have call successors, (0), 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:48:27,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 123 transitions. [2022-02-20 23:48:27,797 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 123 transitions. Word has length 11 [2022-02-20 23:48:27,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:27,797 INFO L470 AbstractCegarLoop]: Abstraction has 98 states and 123 transitions. [2022-02-20 23:48:27,797 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 8 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:48:27,797 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 123 transitions. [2022-02-20 23:48:27,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 23:48:27,798 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:27,798 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:27,807 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Ended with exit code 0 [2022-02-20 23:48:28,007 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:48:28,008 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:28,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:28,008 INFO L85 PathProgramCache]: Analyzing trace with hash -751678343, now seen corresponding path program 1 times [2022-02-20 23:48:28,008 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:28,008 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1189857743] [2022-02-20 23:48:28,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:28,008 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:28,009 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:28,009 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:48:28,010 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:48:28,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:28,047 INFO L263 TraceCheckSpWp]: Trace formula consists of 56 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:48:28,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:28,053 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:28,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {5768#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {5768#true} is VALID [2022-02-20 23:48:28,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {5768#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {5776#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:28,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {5776#(= ~n~0 (_ bv1 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {5780#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} is VALID [2022-02-20 23:48:28,131 INFO L290 TraceCheckUtils]: 3: Hoare triple {5780#(= (bvadd (_ bv4294967295 32) ~n~0) (_ bv1 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {5784#(= ~n~0 (_ bv3 32))} is VALID [2022-02-20 23:48:28,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {5784#(= ~n~0 (_ bv3 32))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {5784#(= ~n~0 (_ bv3 32))} is VALID [2022-02-20 23:48:28,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {5784#(= ~n~0 (_ bv3 32))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {5784#(= ~n~0 (_ bv3 32))} is VALID [2022-02-20 23:48:28,132 INFO L290 TraceCheckUtils]: 6: Hoare triple {5784#(= ~n~0 (_ bv3 32))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {5784#(= ~n~0 (_ bv3 32))} is VALID [2022-02-20 23:48:28,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {5784#(= ~n~0 (_ bv3 32))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {5797#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~n~0 (_ bv3 32)))} is VALID [2022-02-20 23:48:28,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {5797#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~n~0 (_ bv3 32)))} assume !~bvslt32(foo_~i~0#1, ~n~0); {5769#false} is VALID [2022-02-20 23:48:28,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {5769#false} foo_~i~0#1 := 0bv32; {5769#false} is VALID [2022-02-20 23:48:28,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {5769#false} assume !!~bvslt32(foo_~i~0#1, ~bvsub32(~n~0, 1bv32)); {5769#false} is VALID [2022-02-20 23:48:28,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {5769#false} assume !(1bv1 == #valid[~b~0.base]); {5769#false} is VALID [2022-02-20 23:48:28,134 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:28,134 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:28,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {5769#false} assume !(1bv1 == #valid[~b~0.base]); {5769#false} is VALID [2022-02-20 23:48:28,209 INFO L290 TraceCheckUtils]: 10: Hoare triple {5769#false} assume !!~bvslt32(foo_~i~0#1, ~bvsub32(~n~0, 1bv32)); {5769#false} is VALID [2022-02-20 23:48:28,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {5769#false} foo_~i~0#1 := 0bv32; {5769#false} is VALID [2022-02-20 23:48:28,210 INFO L290 TraceCheckUtils]: 8: Hoare triple {5819#(bvslt |ULTIMATE.start_foo_~i~0#1| ~n~0)} assume !~bvslt32(foo_~i~0#1, ~n~0); {5769#false} is VALID [2022-02-20 23:48:28,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {5823#(bvslt (_ bv0 32) ~n~0)} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {5819#(bvslt |ULTIMATE.start_foo_~i~0#1| ~n~0)} is VALID [2022-02-20 23:48:28,211 INFO L290 TraceCheckUtils]: 6: Hoare triple {5823#(bvslt (_ bv0 32) ~n~0)} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {5823#(bvslt (_ bv0 32) ~n~0)} is VALID [2022-02-20 23:48:28,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {5823#(bvslt (_ bv0 32) ~n~0)} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {5823#(bvslt (_ bv0 32) ~n~0)} is VALID [2022-02-20 23:48:28,213 INFO L290 TraceCheckUtils]: 4: Hoare triple {5823#(bvslt (_ bv0 32) ~n~0)} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {5823#(bvslt (_ bv0 32) ~n~0)} is VALID [2022-02-20 23:48:28,214 INFO L290 TraceCheckUtils]: 3: Hoare triple {5836#(bvslt (_ bv0 32) (bvadd ~n~0 (_ bv1 32)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {5823#(bvslt (_ bv0 32) ~n~0)} is VALID [2022-02-20 23:48:28,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {5840#(bvslt (_ bv0 32) (bvadd ~n~0 (_ bv2 32)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {5836#(bvslt (_ bv0 32) (bvadd ~n~0 (_ bv1 32)))} is VALID [2022-02-20 23:48:28,217 INFO L290 TraceCheckUtils]: 1: Hoare triple {5768#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {5840#(bvslt (_ bv0 32) (bvadd ~n~0 (_ bv2 32)))} is VALID [2022-02-20 23:48:28,217 INFO L290 TraceCheckUtils]: 0: Hoare triple {5768#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {5768#true} is VALID [2022-02-20 23:48:28,217 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:28,217 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:28,218 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1189857743] [2022-02-20 23:48:28,218 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1189857743] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:28,218 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:48:28,218 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-02-20 23:48:28,218 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1267860207] [2022-02-20 23:48:28,218 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:28,218 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 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 12 [2022-02-20 23:48:28,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:28,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 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:48:28,242 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:48:28,242 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:48:28,242 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:28,243 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:48:28,243 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:48:28,243 INFO L87 Difference]: Start difference. First operand 98 states and 123 transitions. Second operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 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:48:29,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:29,617 INFO L93 Difference]: Finished difference Result 281 states and 301 transitions. [2022-02-20 23:48:29,617 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:48:29,617 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 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 12 [2022-02-20 23:48:29,617 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:29,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 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:48:29,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 279 transitions. [2022-02-20 23:48:29,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 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:48:29,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 279 transitions. [2022-02-20 23:48:29,620 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 279 transitions. [2022-02-20 23:48:29,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:29,908 INFO L225 Difference]: With dead ends: 281 [2022-02-20 23:48:29,908 INFO L226 Difference]: Without dead ends: 281 [2022-02-20 23:48:29,908 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:48:29,909 INFO L933 BasicCegarLoop]: 102 mSDtfsCounter, 599 mSDsluCounter, 360 mSDsCounter, 0 mSdLazyCounter, 201 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 599 SdHoareTripleChecker+Valid, 462 SdHoareTripleChecker+Invalid, 238 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 201 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:29,909 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [599 Valid, 462 Invalid, 238 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 201 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:48:29,910 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-02-20 23:48:29,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 111. [2022-02-20 23:48:29,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:29,913 INFO L82 GeneralOperation]: Start isEquivalent. First operand 281 states. Second operand has 111 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 110 states have internal predecessors, (137), 0 states have call successors, (0), 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:48:29,914 INFO L74 IsIncluded]: Start isIncluded. First operand 281 states. Second operand has 111 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 110 states have internal predecessors, (137), 0 states have call successors, (0), 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:48:29,914 INFO L87 Difference]: Start difference. First operand 281 states. Second operand has 111 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 110 states have internal predecessors, (137), 0 states have call successors, (0), 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:48:29,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:29,919 INFO L93 Difference]: Finished difference Result 281 states and 301 transitions. [2022-02-20 23:48:29,919 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 301 transitions. [2022-02-20 23:48:29,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:29,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:29,920 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 110 states have internal predecessors, (137), 0 states have call successors, (0), 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 281 states. [2022-02-20 23:48:29,920 INFO L87 Difference]: Start difference. First operand has 111 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 110 states have internal predecessors, (137), 0 states have call successors, (0), 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 281 states. [2022-02-20 23:48:29,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:29,925 INFO L93 Difference]: Finished difference Result 281 states and 301 transitions. [2022-02-20 23:48:29,925 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 301 transitions. [2022-02-20 23:48:29,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:29,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:29,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:29,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:29,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 110 states have internal predecessors, (137), 0 states have call successors, (0), 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:48:29,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 137 transitions. [2022-02-20 23:48:29,928 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 137 transitions. Word has length 12 [2022-02-20 23:48:29,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:29,928 INFO L470 AbstractCegarLoop]: Abstraction has 111 states and 137 transitions. [2022-02-20 23:48:29,928 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 10 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:48:29,928 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 137 transitions. [2022-02-20 23:48:29,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 23:48:29,929 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:29,929 INFO L514 BasicCegarLoop]: trace histogram [4, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:29,935 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:48:30,129 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:48:30,129 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:30,130 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:30,130 INFO L85 PathProgramCache]: Analyzing trace with hash -1020455537, now seen corresponding path program 2 times [2022-02-20 23:48:30,130 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:30,130 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [616043551] [2022-02-20 23:48:30,130 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:48:30,130 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:30,131 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:30,131 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:48:30,134 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:48:30,173 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-02-20 23:48:30,173 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:48:30,174 INFO L263 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:48:30,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:30,186 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:30,226 INFO L356 Elim1Store]: treesize reduction 17, result has 29.2 percent of original size [2022-02-20 23:48:30,226 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 1 case distinctions, treesize of input 13 treesize of output 15 [2022-02-20 23:48:30,236 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 10 treesize of output 8 [2022-02-20 23:48:30,516 INFO L290 TraceCheckUtils]: 0: Hoare triple {6812#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {6812#true} is VALID [2022-02-20 23:48:30,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {6812#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {6812#true} is VALID [2022-02-20 23:48:30,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {6812#true} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {6812#true} is VALID [2022-02-20 23:48:30,516 INFO L290 TraceCheckUtils]: 3: Hoare triple {6812#true} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {6812#true} is VALID [2022-02-20 23:48:30,517 INFO L290 TraceCheckUtils]: 4: Hoare triple {6812#true} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {6812#true} is VALID [2022-02-20 23:48:30,517 INFO L290 TraceCheckUtils]: 5: Hoare triple {6812#true} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {6812#true} is VALID [2022-02-20 23:48:30,517 INFO L290 TraceCheckUtils]: 6: Hoare triple {6812#true} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {6812#true} is VALID [2022-02-20 23:48:30,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {6812#true} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {6838#(and (not (= ~a~0.base |ULTIMATE.start_main_#t~post9#1.base|)) (exists ((~n~0 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) ~n~0) (select |#length| ~a~0.base)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (bvmul (_ bv4 32) ~n~0)))) (= ~a~0.offset (_ bv0 32)) (= |ULTIMATE.start_main_#t~post9#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:48:30,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {6838#(and (not (= ~a~0.base |ULTIMATE.start_main_#t~post9#1.base|)) (exists ((~n~0 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) ~n~0) (select |#length| ~a~0.base)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (bvmul (_ bv4 32) ~n~0)))) (= ~a~0.offset (_ bv0 32)) (= |ULTIMATE.start_main_#t~post9#1.offset| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {6842#(and (exists ((|ULTIMATE.start_main_#t~post9#1.base| (_ BitVec 32)) (~n~0 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) ~n~0) (select |#length| ~a~0.base)) (not (= ~a~0.base |ULTIMATE.start_main_#t~post9#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (bvmul (_ bv4 32) ~n~0)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)))) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:30,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {6842#(and (exists ((|ULTIMATE.start_main_#t~post9#1.base| (_ BitVec 32)) (~n~0 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) ~n~0) (select |#length| ~a~0.base)) (not (= ~a~0.base |ULTIMATE.start_main_#t~post9#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (bvmul (_ bv4 32) ~n~0)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)))) (= ~a~0.offset (_ bv0 32)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {6846#(and (exists ((|ULTIMATE.start_main_#t~post9#1.base| (_ BitVec 32)) (~n~0 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) ~n~0) (select |#length| ~a~0.base)) (not (= ~a~0.base |ULTIMATE.start_main_#t~post9#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (bvmul (_ bv4 32) ~n~0)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)))) (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:30,524 INFO L290 TraceCheckUtils]: 10: Hoare triple {6846#(and (exists ((|ULTIMATE.start_main_#t~post9#1.base| (_ BitVec 32)) (~n~0 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) ~n~0) (select |#length| ~a~0.base)) (not (= ~a~0.base |ULTIMATE.start_main_#t~post9#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (bvmul (_ bv4 32) ~n~0)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)))) (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~a~0.offset (_ bv0 32)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {6846#(and (exists ((|ULTIMATE.start_main_#t~post9#1.base| (_ BitVec 32)) (~n~0 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) ~n~0) (select |#length| ~a~0.base)) (not (= ~a~0.base |ULTIMATE.start_main_#t~post9#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (bvmul (_ bv4 32) ~n~0)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)))) (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:30,525 INFO L290 TraceCheckUtils]: 11: Hoare triple {6846#(and (exists ((|ULTIMATE.start_main_#t~post9#1.base| (_ BitVec 32)) (~n~0 (_ BitVec 32))) (and (= (bvmul (_ bv4 32) ~n~0) (select |#length| ~a~0.base)) (not (= ~a~0.base |ULTIMATE.start_main_#t~post9#1.base|)) (= (select |#length| |ULTIMATE.start_main_#t~post9#1.base|) (bvmul (_ bv4 32) ~n~0)) (bvule (_ bv4 32) (select |#length| |ULTIMATE.start_main_#t~post9#1.base|)))) (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= ~a~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))), #length[~a~0.base]) && ~bvule32(~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)))); {6813#false} is VALID [2022-02-20 23:48:30,526 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 23:48:30,526 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:48:30,531 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:30,531 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [616043551] [2022-02-20 23:48:30,531 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [616043551] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:30,532 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:30,532 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:48:30,532 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [212294201] [2022-02-20 23:48:30,532 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:30,532 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 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 12 [2022-02-20 23:48:30,534 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:30,534 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 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:48:30,550 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:48:30,550 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:48:30,550 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:30,550 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:48:30,550 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:30,550 INFO L87 Difference]: Start difference. First operand 111 states and 137 transitions. Second operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 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:48:30,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:30,684 INFO L93 Difference]: Finished difference Result 112 states and 138 transitions. [2022-02-20 23:48:30,684 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:48:30,684 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 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 12 [2022-02-20 23:48:30,684 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:30,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 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:48:30,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 23:48:30,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 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:48:30,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 23:48:30,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-02-20 23:48:30,744 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:30,745 INFO L225 Difference]: With dead ends: 112 [2022-02-20 23:48:30,745 INFO L226 Difference]: Without dead ends: 112 [2022-02-20 23:48:30,745 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:30,746 INFO L933 BasicCegarLoop]: 49 mSDtfsCounter, 1 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 68 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 68 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:30,746 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 129 Invalid, 68 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 68 Unchecked, 0.0s Time] [2022-02-20 23:48:30,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2022-02-20 23:48:30,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 107. [2022-02-20 23:48:30,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:30,749 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand has 107 states, 88 states have (on average 1.5113636363636365) internal successors, (133), 106 states have internal predecessors, (133), 0 states have call successors, (0), 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:48:30,749 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand has 107 states, 88 states have (on average 1.5113636363636365) internal successors, (133), 106 states have internal predecessors, (133), 0 states have call successors, (0), 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:48:30,750 INFO L87 Difference]: Start difference. First operand 112 states. Second operand has 107 states, 88 states have (on average 1.5113636363636365) internal successors, (133), 106 states have internal predecessors, (133), 0 states have call successors, (0), 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:48:30,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:30,751 INFO L93 Difference]: Finished difference Result 112 states and 138 transitions. [2022-02-20 23:48:30,751 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-02-20 23:48:30,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:30,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:30,752 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 88 states have (on average 1.5113636363636365) internal successors, (133), 106 states have internal predecessors, (133), 0 states have call successors, (0), 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 112 states. [2022-02-20 23:48:30,752 INFO L87 Difference]: Start difference. First operand has 107 states, 88 states have (on average 1.5113636363636365) internal successors, (133), 106 states have internal predecessors, (133), 0 states have call successors, (0), 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 112 states. [2022-02-20 23:48:30,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:30,754 INFO L93 Difference]: Finished difference Result 112 states and 138 transitions. [2022-02-20 23:48:30,754 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-02-20 23:48:30,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:30,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:30,754 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:30,754 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:30,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 88 states have (on average 1.5113636363636365) internal successors, (133), 106 states have internal predecessors, (133), 0 states have call successors, (0), 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:48:30,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 133 transitions. [2022-02-20 23:48:30,756 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 133 transitions. Word has length 12 [2022-02-20 23:48:30,756 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:30,756 INFO L470 AbstractCegarLoop]: Abstraction has 107 states and 133 transitions. [2022-02-20 23:48:30,757 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 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:48:30,757 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 133 transitions. [2022-02-20 23:48:30,757 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:48:30,757 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:30,757 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:30,766 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2022-02-20 23:48:30,963 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:48:30,963 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 19 more)] === [2022-02-20 23:48:30,964 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:30,964 INFO L85 PathProgramCache]: Analyzing trace with hash -1825595530, now seen corresponding path program 1 times [2022-02-20 23:48:30,964 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:48:30,964 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1988555488] [2022-02-20 23:48:30,964 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:30,964 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:48:30,964 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:48:30,965 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:48:30,966 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:48:31,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:31,010 INFO L263 TraceCheckSpWp]: Trace formula consists of 63 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:48:31,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:31,021 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:31,089 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:48:31,089 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 1 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:48:31,216 INFO L290 TraceCheckUtils]: 0: Hoare triple {7295#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {7295#true} is VALID [2022-02-20 23:48:31,217 INFO L290 TraceCheckUtils]: 1: Hoare triple {7295#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {7303#(= ~n~0 (_ bv1 32))} is VALID [2022-02-20 23:48:31,217 INFO L290 TraceCheckUtils]: 2: Hoare triple {7303#(= ~n~0 (_ bv1 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {7307#(= ~n~0 (_ bv2 32))} is VALID [2022-02-20 23:48:31,218 INFO L290 TraceCheckUtils]: 3: Hoare triple {7307#(= ~n~0 (_ bv2 32))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {7311#(= (_ bv2 32) (bvadd (_ bv4294967295 32) ~n~0))} is VALID [2022-02-20 23:48:31,218 INFO L290 TraceCheckUtils]: 4: Hoare triple {7311#(= (_ bv2 32) (bvadd (_ bv4294967295 32) ~n~0))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {7311#(= (_ bv2 32) (bvadd (_ bv4294967295 32) ~n~0))} is VALID [2022-02-20 23:48:31,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {7311#(= (_ bv2 32) (bvadd (_ bv4294967295 32) ~n~0))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {7318#(and (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:31,220 INFO L290 TraceCheckUtils]: 6: Hoare triple {7318#(and (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {7318#(and (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:31,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {7318#(and (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {7325#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:31,221 INFO L290 TraceCheckUtils]: 8: Hoare triple {7325#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {7325#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:31,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {7325#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~n~0, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), 4bv32); srcloc: L530 {7325#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:31,222 INFO L290 TraceCheckUtils]: 10: Hoare triple {7325#(and (= |ULTIMATE.start_foo_~i~0#1| (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := ~bvadd32(1bv32, foo_#t~post3#1);havoc foo_#t~post3#1; {7335#(and (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_foo_~i~0#1|) (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:31,223 INFO L290 TraceCheckUtils]: 11: Hoare triple {7335#(and (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_foo_~i~0#1|) (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {7335#(and (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_foo_~i~0#1|) (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:48:31,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {7335#(and (= (bvadd (_ bv4294967295 32) |ULTIMATE.start_foo_~i~0#1|) (_ bv0 32)) (= (select |#length| ~a~0.base) (_ bv12 32)) (= ~a~0.offset (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))), #length[~a~0.base]) && ~bvule32(~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)))); {7296#false} is VALID [2022-02-20 23:48:31,223 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:31,223 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:31,642 INFO L290 TraceCheckUtils]: 12: Hoare triple {7342#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))), #length[~a~0.base]) && ~bvule32(~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), ~bvadd32(4bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1))))) && ~bvule32(0bv32, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)))); {7296#false} is VALID [2022-02-20 23:48:31,643 INFO L290 TraceCheckUtils]: 11: Hoare triple {7342#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {7342#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)))} is VALID [2022-02-20 23:48:31,995 INFO L290 TraceCheckUtils]: 10: Hoare triple {7349#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)))} foo_#t~post3#1 := foo_~i~0#1;foo_~i~0#1 := ~bvadd32(1bv32, foo_#t~post3#1);havoc foo_#t~post3#1; {7342#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)) (bvule (bvadd (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)))} is VALID [2022-02-20 23:48:31,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {7349#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)))} SUMMARY for call write~intINTTYPE4(~n~0, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, foo_~i~0#1)), 4bv32); srcloc: L530 {7349#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:48:31,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {7349#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)))} assume !!~bvslt32(foo_~i~0#1, ~n~0); {7349#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:48:31,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {7359#(and (bvule (bvadd (_ bv4 32) ~a~0.offset) (bvadd (_ bv8 32) ~a~0.offset)) (bvule (bvadd (_ bv8 32) ~a~0.offset) (select |#length| ~a~0.base)))} havoc main_#t~post9#1.base, main_#t~post9#1.offset;assume { :begin_inline_foo } true;havoc foo_#t~post3#1, foo_#t~post4#1, foo_~i~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0bv32; {7349#(and (bvule (bvadd (_ bv4 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset)) (bvule (bvadd (_ bv8 32) (bvmul (_ bv4 32) |ULTIMATE.start_foo_~i~0#1|) ~a~0.offset) (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:48:31,997 INFO L290 TraceCheckUtils]: 6: Hoare triple {7359#(and (bvule (bvadd (_ bv4 32) ~a~0.offset) (bvadd (_ bv8 32) ~a~0.offset)) (bvule (bvadd (_ bv8 32) ~a~0.offset) (select |#length| ~a~0.base)))} SUMMARY for call write~intINTTYPE4(~n~0, main_#t~post9#1.base, main_#t~post9#1.offset, 4bv32); srcloc: L542 {7359#(and (bvule (bvadd (_ bv4 32) ~a~0.offset) (bvadd (_ bv8 32) ~a~0.offset)) (bvule (bvadd (_ bv8 32) ~a~0.offset) (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:48:31,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {7366#(bvule (_ bv8 32) (bvmul (_ bv4 32) ~n~0))} call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~a~0.base, ~a~0.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnHeap(~bvmul32(4bv32, ~n~0));~b~0.base, ~b~0.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;main_#t~post9#1.base, main_#t~post9#1.offset := ~b~0.base, ~b~0.offset;~b~0.base, ~b~0.offset := main_#t~post9#1.base, ~bvadd32(4bv32, main_#t~post9#1.offset); {7359#(and (bvule (bvadd (_ bv4 32) ~a~0.offset) (bvadd (_ bv8 32) ~a~0.offset)) (bvule (bvadd (_ bv8 32) ~a~0.offset) (select |#length| ~a~0.base)))} is VALID [2022-02-20 23:48:31,999 INFO L290 TraceCheckUtils]: 4: Hoare triple {7366#(bvule (_ bv8 32) (bvmul (_ bv4 32) ~n~0))} assume !(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1; {7366#(bvule (_ bv8 32) (bvmul (_ bv4 32) ~n~0))} is VALID [2022-02-20 23:48:32,000 INFO L290 TraceCheckUtils]: 3: Hoare triple {7373#(bvule (_ bv8 32) (bvadd (_ bv4 32) (bvmul (_ bv4 32) ~n~0)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {7366#(bvule (_ bv8 32) (bvmul (_ bv4 32) ~n~0))} is VALID [2022-02-20 23:48:32,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {7377#(bvule (_ bv8 32) (bvadd (_ bv8 32) (bvmul (_ bv4 32) ~n~0)))} assume !!(0bv32 != main_#t~nondet5#1 && ~bvslt32(~n~0, 30bv32));havoc main_#t~nondet5#1;main_#t~post6#1 := ~n~0;~n~0 := ~bvadd32(1bv32, main_#t~post6#1);havoc main_#t~post6#1; {7373#(bvule (_ bv8 32) (bvadd (_ bv4 32) (bvmul (_ bv4 32) ~n~0)))} is VALID [2022-02-20 23:48:32,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {7295#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~post6#1, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~post9#1.base, main_#t~post9#1.offset, main_#t~mem10#1, main_#t~mem11#1;~n~0 := 1bv32; {7377#(bvule (_ bv8 32) (bvadd (_ bv8 32) (bvmul (_ bv4 32) ~n~0)))} is VALID [2022-02-20 23:48:32,002 INFO L290 TraceCheckUtils]: 0: Hoare triple {7295#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(15bv32, 2bv32);~a~0.base, ~a~0.offset := 0bv32, 0bv32;~b~0.base, ~b~0.offset := 0bv32, 0bv32;~n~0 := 0bv32; {7295#true} is VALID [2022-02-20 23:48:32,002 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:32,003 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:48:32,003 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1988555488] [2022-02-20 23:48:32,003 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1988555488] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:32,003 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:48:32,003 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 13 [2022-02-20 23:48:32,003 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [51547970] [2022-02-20 23:48:32,003 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:32,003 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 14 states have internal predecessors, (25), 0 states have call successors, (0), 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:48:32,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:32,004 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 14 states have internal predecessors, (25), 0 states have call successors, (0), 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:48:32,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:32,440 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 23:48:32,440 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:48:32,441 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 23:48:32,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:48:32,441 INFO L87 Difference]: Start difference. First operand 107 states and 133 transitions. Second operand has 14 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 14 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0)