./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/memsafety-ext3/getNumbers1-2.c --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/memsafety-ext3/getNumbers1-2.c -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 1fb17cc8fe5a0faedd7397d9dad19c9fd18716037f6fbcc01ca4a50f1481e06c --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-21 00:02:47,398 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-21 00:02:47,400 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-21 00:02:47,426 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-21 00:02:47,427 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-21 00:02:47,429 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-21 00:02:47,431 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-21 00:02:47,436 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-21 00:02:47,438 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-21 00:02:47,441 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-21 00:02:47,441 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-21 00:02:47,442 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-21 00:02:47,443 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-21 00:02:47,444 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-21 00:02:47,446 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-21 00:02:47,447 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-21 00:02:47,447 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-21 00:02:47,448 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-21 00:02:47,451 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-21 00:02:47,455 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-21 00:02:47,456 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-21 00:02:47,456 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-21 00:02:47,458 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-21 00:02:47,458 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-21 00:02:47,460 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-21 00:02:47,460 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-21 00:02:47,460 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-21 00:02:47,461 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-21 00:02:47,461 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-21 00:02:47,462 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-21 00:02:47,462 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-21 00:02:47,463 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-21 00:02:47,464 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-21 00:02:47,464 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-21 00:02:47,465 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-21 00:02:47,465 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-21 00:02:47,466 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-21 00:02:47,466 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-21 00:02:47,466 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-21 00:02:47,467 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-21 00:02:47,468 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-21 00:02:47,468 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-21 00:02:47,496 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-21 00:02:47,496 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-21 00:02:47,496 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-21 00:02:47,497 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-21 00:02:47,497 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-21 00:02:47,497 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-21 00:02:47,498 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-21 00:02:47,498 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-21 00:02:47,498 INFO L138 SettingsManager]: * Use SBE=true [2022-02-21 00:02:47,498 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-21 00:02:47,499 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-21 00:02:47,499 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-21 00:02:47,499 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-21 00:02:47,499 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-21 00:02:47,499 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-21 00:02:47,499 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-21 00:02:47,500 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-21 00:02:47,500 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-21 00:02:47,500 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-21 00:02:47,500 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-21 00:02:47,500 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-21 00:02:47,500 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-21 00:02:47,500 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-21 00:02:47,501 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-21 00:02:47,501 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-21 00:02:47,501 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-21 00:02:47,501 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-21 00:02:47,501 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-21 00:02:47,501 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-21 00:02:47,501 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-21 00:02:47,502 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 -> 1fb17cc8fe5a0faedd7397d9dad19c9fd18716037f6fbcc01ca4a50f1481e06c [2022-02-21 00:02:47,694 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-21 00:02:47,717 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-21 00:02:47,719 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-21 00:02:47,720 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-21 00:02:47,721 INFO L275 PluginConnector]: CDTParser initialized [2022-02-21 00:02:47,722 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/memsafety-ext3/getNumbers1-2.c [2022-02-21 00:02:47,771 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a051be659/e12574f8b3fd40a796663636e8509e08/FLAGa6d01383e [2022-02-21 00:02:48,095 INFO L306 CDTParser]: Found 1 translation units. [2022-02-21 00:02:48,096 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/memsafety-ext3/getNumbers1-2.c [2022-02-21 00:02:48,100 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a051be659/e12574f8b3fd40a796663636e8509e08/FLAGa6d01383e [2022-02-21 00:02:48,555 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a051be659/e12574f8b3fd40a796663636e8509e08 [2022-02-21 00:02:48,560 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-21 00:02:48,562 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-21 00:02:48,564 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-21 00:02:48,565 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-21 00:02:48,567 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-21 00:02:48,568 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,569 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@17665a46 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48, skipping insertion in model container [2022-02-21 00:02:48,570 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,574 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-21 00:02:48,584 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-21 00:02:48,731 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-21 00:02:48,745 INFO L203 MainTranslator]: Completed pre-run [2022-02-21 00:02:48,772 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-21 00:02:48,781 INFO L208 MainTranslator]: Completed translation [2022-02-21 00:02:48,784 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48 WrapperNode [2022-02-21 00:02:48,784 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-21 00:02:48,785 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-21 00:02:48,785 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-21 00:02:48,785 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-21 00:02:48,791 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,796 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,807 INFO L137 Inliner]: procedures = 10, calls = 11, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 40 [2022-02-21 00:02:48,807 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-21 00:02:48,808 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-21 00:02:48,808 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-21 00:02:48,808 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-21 00:02:48,813 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,813 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,814 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,815 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,818 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,821 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,822 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,823 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-21 00:02:48,823 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-21 00:02:48,823 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-21 00:02:48,824 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-21 00:02:48,824 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (1/1) ... [2022-02-21 00:02:48,829 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-21 00:02:48,835 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 00:02:48,844 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-21 00:02:48,847 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-21 00:02:48,870 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-21 00:02:48,870 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-21 00:02:48,870 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-21 00:02:48,870 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-21 00:02:48,870 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-21 00:02:48,870 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-21 00:02:48,914 INFO L234 CfgBuilder]: Building ICFG [2022-02-21 00:02:48,915 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-21 00:02:49,059 INFO L275 CfgBuilder]: Performing block encoding [2022-02-21 00:02:49,064 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-21 00:02:49,064 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-21 00:02:49,066 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.02 12:02:49 BoogieIcfgContainer [2022-02-21 00:02:49,066 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-21 00:02:49,067 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-21 00:02:49,067 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-21 00:02:49,069 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-21 00:02:49,070 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 21.02 12:02:48" (1/3) ... [2022-02-21 00:02:49,070 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1dbedaf9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.02 12:02:49, skipping insertion in model container [2022-02-21 00:02:49,070 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 12:02:48" (2/3) ... [2022-02-21 00:02:49,071 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1dbedaf9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.02 12:02:49, skipping insertion in model container [2022-02-21 00:02:49,071 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.02 12:02:49" (3/3) ... [2022-02-21 00:02:49,072 INFO L111 eAbstractionObserver]: Analyzing ICFG getNumbers1-2.c [2022-02-21 00:02:49,075 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-21 00:02:49,075 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 5 error locations. [2022-02-21 00:02:49,103 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-21 00:02:49,108 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-21 00:02:49,109 INFO L340 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2022-02-21 00:02:49,129 INFO L276 IsEmpty]: Start isEmpty. Operand has 20 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 19 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-21 00:02:49,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2022-02-21 00:02:49,133 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 00:02:49,134 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2022-02-21 00:02:49,134 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 1 more)] === [2022-02-21 00:02:49,138 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 00:02:49,138 INFO L85 PathProgramCache]: Analyzing trace with hash 925765, now seen corresponding path program 1 times [2022-02-21 00:02:49,145 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 00:02:49,145 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [82422258] [2022-02-21 00:02:49,145 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:49,146 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 00:02:49,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:49,317 INFO L290 TraceCheckUtils]: 0: Hoare triple {23#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {25#(and (= (select |#valid| |~#array~0.base|) 1) (= 2 |~#array~0.base|))} is VALID [2022-02-21 00:02:49,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {25#(and (= (select |#valid| |~#array~0.base|) 1) (= 2 |~#array~0.base|))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {25#(and (= (select |#valid| |~#array~0.base|) 1) (= 2 |~#array~0.base|))} is VALID [2022-02-21 00:02:49,319 INFO L290 TraceCheckUtils]: 2: Hoare triple {25#(and (= (select |#valid| |~#array~0.base|) 1) (= 2 |~#array~0.base|))} assume !!(getNumbers_~i~0#1 < 10); {25#(and (= (select |#valid| |~#array~0.base|) 1) (= 2 |~#array~0.base|))} is VALID [2022-02-21 00:02:49,319 INFO L290 TraceCheckUtils]: 3: Hoare triple {25#(and (= (select |#valid| |~#array~0.base|) 1) (= 2 |~#array~0.base|))} assume !(1 == #valid[~#array~0.base]); {24#false} is VALID [2022-02-21 00:02:49,320 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 00:02:49,320 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 00:02:49,321 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [82422258] [2022-02-21 00:02:49,321 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [82422258] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 00:02:49,321 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 00:02:49,321 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2022-02-21 00:02:49,322 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1146441142] [2022-02-21 00:02:49,323 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 00:02:49,326 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 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 4 [2022-02-21 00:02:49,327 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 00:02:49,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.0) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,334 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 00:02:49,334 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-21 00:02:49,335 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 00:02:49,347 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-21 00:02:49,348 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-21 00:02:49,349 INFO L87 Difference]: Start difference. First operand has 20 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 19 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) Second operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:49,407 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2022-02-21 00:02:49,407 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-21 00:02:49,407 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 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 4 [2022-02-21 00:02:49,407 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 00:02:49,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2022-02-21 00:02:49,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2022-02-21 00:02:49,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 23 transitions. [2022-02-21 00:02:49,442 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-21 00:02:49,447 INFO L225 Difference]: With dead ends: 19 [2022-02-21 00:02:49,447 INFO L226 Difference]: Without dead ends: 17 [2022-02-21 00:02:49,448 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 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-21 00:02:49,451 INFO L933 BasicCegarLoop]: 12 mSDtfsCounter, 17 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 12 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 00:02:49,451 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 12 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 00:02:49,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2022-02-21 00:02:49,467 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 17. [2022-02-21 00:02:49,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 00:02:49,468 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand has 17 states, 13 states have (on average 1.3846153846153846) internal successors, (18), 16 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,469 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand has 17 states, 13 states have (on average 1.3846153846153846) internal successors, (18), 16 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,469 INFO L87 Difference]: Start difference. First operand 17 states. Second operand has 17 states, 13 states have (on average 1.3846153846153846) internal successors, (18), 16 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:49,471 INFO L93 Difference]: Finished difference Result 17 states and 18 transitions. [2022-02-21 00:02:49,471 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 18 transitions. [2022-02-21 00:02:49,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:49,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:49,472 INFO L74 IsIncluded]: Start isIncluded. First operand has 17 states, 13 states have (on average 1.3846153846153846) internal successors, (18), 16 states have internal predecessors, (18), 0 states have call successors, (0), 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 17 states. [2022-02-21 00:02:49,472 INFO L87 Difference]: Start difference. First operand has 17 states, 13 states have (on average 1.3846153846153846) internal successors, (18), 16 states have internal predecessors, (18), 0 states have call successors, (0), 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 17 states. [2022-02-21 00:02:49,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:49,475 INFO L93 Difference]: Finished difference Result 17 states and 18 transitions. [2022-02-21 00:02:49,475 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 18 transitions. [2022-02-21 00:02:49,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:49,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:49,476 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 00:02:49,476 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 00:02:49,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 1.3846153846153846) internal successors, (18), 16 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 18 transitions. [2022-02-21 00:02:49,478 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 18 transitions. Word has length 4 [2022-02-21 00:02:49,478 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 00:02:49,478 INFO L470 AbstractCegarLoop]: Abstraction has 17 states and 18 transitions. [2022-02-21 00:02:49,478 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,478 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 18 transitions. [2022-02-21 00:02:49,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2022-02-21 00:02:49,479 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 00:02:49,479 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2022-02-21 00:02:49,479 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-21 00:02:49,479 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 1 more)] === [2022-02-21 00:02:49,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 00:02:49,480 INFO L85 PathProgramCache]: Analyzing trace with hash 925766, now seen corresponding path program 1 times [2022-02-21 00:02:49,480 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 00:02:49,480 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [258839488] [2022-02-21 00:02:49,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:49,480 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 00:02:49,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:49,577 INFO L290 TraceCheckUtils]: 0: Hoare triple {98#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {100#(and (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:49,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {100#(and (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {101#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:49,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {101#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !!(getNumbers_~i~0#1 < 10); {101#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:49,579 INFO L290 TraceCheckUtils]: 3: Hoare triple {101#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !(4 + (~#array~0.offset + 4 * getNumbers_~i~0#1) <= #length[~#array~0.base] && 0 <= ~#array~0.offset + 4 * getNumbers_~i~0#1); {99#false} is VALID [2022-02-21 00:02:49,579 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-21 00:02:49,579 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 00:02:49,580 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [258839488] [2022-02-21 00:02:49,580 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [258839488] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 00:02:49,580 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 00:02:49,580 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-21 00:02:49,580 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [696845287] [2022-02-21 00:02:49,581 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 00:02:49,582 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 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 4 [2022-02-21 00:02:49,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 00:02:49,582 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 00:02:49,587 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-21 00:02:49,587 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 00:02:49,587 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-21 00:02:49,588 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-21 00:02:49,588 INFO L87 Difference]: Start difference. First operand 17 states and 18 transitions. Second operand has 4 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:49,635 INFO L93 Difference]: Finished difference Result 20 states and 21 transitions. [2022-02-21 00:02:49,635 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-21 00:02:49,635 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 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 4 [2022-02-21 00:02:49,635 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 00:02:49,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 23 transitions. [2022-02-21 00:02:49,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 23 transitions. [2022-02-21 00:02:49,638 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 23 transitions. [2022-02-21 00:02:49,656 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-21 00:02:49,657 INFO L225 Difference]: With dead ends: 20 [2022-02-21 00:02:49,657 INFO L226 Difference]: Without dead ends: 20 [2022-02-21 00:02:49,658 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 0 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-21 00:02:49,659 INFO L933 BasicCegarLoop]: 11 mSDtfsCounter, 19 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 19 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 00:02:49,659 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 19 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 00:02:49,660 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2022-02-21 00:02:49,661 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 19. [2022-02-21 00:02:49,661 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 00:02:49,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand has 19 states, 15 states have (on average 1.3333333333333333) internal successors, (20), 18 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-21 00:02:49,662 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand has 19 states, 15 states have (on average 1.3333333333333333) internal successors, (20), 18 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-21 00:02:49,662 INFO L87 Difference]: Start difference. First operand 20 states. Second operand has 19 states, 15 states have (on average 1.3333333333333333) internal successors, (20), 18 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-21 00:02:49,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:49,663 INFO L93 Difference]: Finished difference Result 20 states and 21 transitions. [2022-02-21 00:02:49,663 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2022-02-21 00:02:49,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:49,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:49,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 19 states, 15 states have (on average 1.3333333333333333) internal successors, (20), 18 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) Second operand 20 states. [2022-02-21 00:02:49,664 INFO L87 Difference]: Start difference. First operand has 19 states, 15 states have (on average 1.3333333333333333) internal successors, (20), 18 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) Second operand 20 states. [2022-02-21 00:02:49,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:49,665 INFO L93 Difference]: Finished difference Result 20 states and 21 transitions. [2022-02-21 00:02:49,665 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2022-02-21 00:02:49,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:49,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:49,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 00:02:49,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 00:02:49,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 15 states have (on average 1.3333333333333333) internal successors, (20), 18 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-21 00:02:49,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 20 transitions. [2022-02-21 00:02:49,667 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 20 transitions. Word has length 4 [2022-02-21 00:02:49,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 00:02:49,667 INFO L470 AbstractCegarLoop]: Abstraction has 19 states and 20 transitions. [2022-02-21 00:02:49,667 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:49,668 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2022-02-21 00:02:49,668 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-21 00:02:49,668 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 00:02:49,668 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1] [2022-02-21 00:02:49,668 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-21 00:02:49,668 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 1 more)] === [2022-02-21 00:02:49,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 00:02:49,669 INFO L85 PathProgramCache]: Analyzing trace with hash 1809646286, now seen corresponding path program 1 times [2022-02-21 00:02:49,669 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 00:02:49,669 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [564088347] [2022-02-21 00:02:49,670 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:49,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 00:02:49,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:49,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {183#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {185#(and (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:49,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {185#(and (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {186#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:49,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {186#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !!(getNumbers_~i~0#1 < 10); {186#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:49,805 INFO L290 TraceCheckUtils]: 3: Hoare triple {186#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {186#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:49,805 INFO L290 TraceCheckUtils]: 4: Hoare triple {186#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {187#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:49,806 INFO L290 TraceCheckUtils]: 5: Hoare triple {187#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !!(getNumbers_~i~0#1 < 10); {187#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:49,807 INFO L290 TraceCheckUtils]: 6: Hoare triple {187#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !(4 + (~#array~0.offset + 4 * getNumbers_~i~0#1) <= #length[~#array~0.base] && 0 <= ~#array~0.offset + 4 * getNumbers_~i~0#1); {184#false} is VALID [2022-02-21 00:02:49,807 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-21 00:02:49,807 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 00:02:49,808 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [564088347] [2022-02-21 00:02:49,808 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [564088347] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 00:02:49,808 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [339889534] [2022-02-21 00:02:49,808 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:49,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 00:02:49,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 00:02:49,810 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-21 00:02:49,811 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-21 00:02:49,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:49,854 INFO L263 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-21 00:02:49,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:49,873 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 00:02:50,031 INFO L290 TraceCheckUtils]: 0: Hoare triple {183#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {191#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:50,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {191#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {195#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:50,033 INFO L290 TraceCheckUtils]: 2: Hoare triple {195#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {195#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:50,033 INFO L290 TraceCheckUtils]: 3: Hoare triple {195#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {195#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:50,034 INFO L290 TraceCheckUtils]: 4: Hoare triple {195#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {205#(and (= (+ (- 1) |ULTIMATE.start_getNumbers_~i~0#1|) 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:50,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {205#(and (= (+ (- 1) |ULTIMATE.start_getNumbers_~i~0#1|) 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {205#(and (= (+ (- 1) |ULTIMATE.start_getNumbers_~i~0#1|) 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:50,035 INFO L290 TraceCheckUtils]: 6: Hoare triple {205#(and (= (+ (- 1) |ULTIMATE.start_getNumbers_~i~0#1|) 0) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !(4 + (~#array~0.offset + 4 * getNumbers_~i~0#1) <= #length[~#array~0.base] && 0 <= ~#array~0.offset + 4 * getNumbers_~i~0#1); {184#false} is VALID [2022-02-21 00:02:50,036 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-21 00:02:50,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 00:02:50,144 INFO L290 TraceCheckUtils]: 6: Hoare triple {212#(and (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset|)) (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} assume !(4 + (~#array~0.offset + 4 * getNumbers_~i~0#1) <= #length[~#array~0.base] && 0 <= ~#array~0.offset + 4 * getNumbers_~i~0#1); {184#false} is VALID [2022-02-21 00:02:50,145 INFO L290 TraceCheckUtils]: 5: Hoare triple {212#(and (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset|)) (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {212#(and (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset|)) (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:50,146 INFO L290 TraceCheckUtils]: 4: Hoare triple {219#(and (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 8) (select |#length| |~#array~0.base|)) (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {212#(and (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset|)) (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:50,147 INFO L290 TraceCheckUtils]: 3: Hoare triple {219#(and (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 8) (select |#length| |~#array~0.base|)) (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {219#(and (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 8) (select |#length| |~#array~0.base|)) (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4)))} is VALID [2022-02-21 00:02:50,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {219#(and (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 8) (select |#length| |~#array~0.base|)) (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4)))} assume !!(getNumbers_~i~0#1 < 10); {219#(and (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 8) (select |#length| |~#array~0.base|)) (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4)))} is VALID [2022-02-21 00:02:50,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {229#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {219#(and (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 8) (select |#length| |~#array~0.base|)) (<= 0 (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4)))} is VALID [2022-02-21 00:02:50,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {183#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {229#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:50,149 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-21 00:02:50,152 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [339889534] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 00:02:50,152 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 00:02:50,152 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2022-02-21 00:02:50,153 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1706662959] [2022-02-21 00:02:50,153 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 00:02:50,154 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 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 7 [2022-02-21 00:02:50,154 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 00:02:50,154 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 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-21 00:02:50,177 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-21 00:02:50,177 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-21 00:02:50,177 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 00:02:50,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-21 00:02:50,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2022-02-21 00:02:50,179 INFO L87 Difference]: Start difference. First operand 19 states and 20 transitions. Second operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 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-21 00:02:50,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:50,443 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2022-02-21 00:02:50,443 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-21 00:02:50,443 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 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 7 [2022-02-21 00:02:50,443 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 00:02:50,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 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-21 00:02:50,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 35 transitions. [2022-02-21 00:02:50,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 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-21 00:02:50,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 35 transitions. [2022-02-21 00:02:50,445 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 35 transitions. [2022-02-21 00:02:50,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 00:02:50,474 INFO L225 Difference]: With dead ends: 28 [2022-02-21 00:02:50,474 INFO L226 Difference]: Without dead ends: 28 [2022-02-21 00:02:50,474 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=82, Invalid=158, Unknown=0, NotChecked=0, Total=240 [2022-02-21 00:02:50,475 INFO L933 BasicCegarLoop]: 11 mSDtfsCounter, 52 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 59 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 00:02:50,475 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 59 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 00:02:50,476 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-21 00:02:50,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2022-02-21 00:02:50,477 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 00:02:50,477 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 28 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 27 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:50,477 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 28 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 27 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:50,477 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 28 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 27 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:50,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:50,478 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2022-02-21 00:02:50,478 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2022-02-21 00:02:50,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:50,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:50,479 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 27 states have internal predecessors, (29), 0 states have call successors, (0), 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 28 states. [2022-02-21 00:02:50,479 INFO L87 Difference]: Start difference. First operand has 28 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 27 states have internal predecessors, (29), 0 states have call successors, (0), 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 28 states. [2022-02-21 00:02:50,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:50,480 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2022-02-21 00:02:50,480 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2022-02-21 00:02:50,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:50,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:50,480 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 00:02:50,480 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 00:02:50,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 27 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:50,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 29 transitions. [2022-02-21 00:02:50,481 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 29 transitions. Word has length 7 [2022-02-21 00:02:50,481 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 00:02:50,481 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 29 transitions. [2022-02-21 00:02:50,482 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.1) internal successors, (21), 10 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-21 00:02:50,482 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2022-02-21 00:02:50,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-21 00:02:50,482 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 00:02:50,482 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 1, 1, 1] [2022-02-21 00:02:50,500 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-21 00:02:50,695 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 00:02:50,696 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 1 more)] === [2022-02-21 00:02:50,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 00:02:50,696 INFO L85 PathProgramCache]: Analyzing trace with hash -116849082, now seen corresponding path program 2 times [2022-02-21 00:02:50,696 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 00:02:50,696 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1731913505] [2022-02-21 00:02:50,696 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:50,696 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 00:02:50,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:50,905 INFO L290 TraceCheckUtils]: 0: Hoare triple {354#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {356#(and (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {356#(and (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {357#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {357#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !!(getNumbers_~i~0#1 < 10); {357#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,907 INFO L290 TraceCheckUtils]: 3: Hoare triple {357#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {357#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,907 INFO L290 TraceCheckUtils]: 4: Hoare triple {357#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {358#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,908 INFO L290 TraceCheckUtils]: 5: Hoare triple {358#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !!(getNumbers_~i~0#1 < 10); {358#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,908 INFO L290 TraceCheckUtils]: 6: Hoare triple {358#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {358#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,909 INFO L290 TraceCheckUtils]: 7: Hoare triple {358#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (<= |ULTIMATE.start_getNumbers_~i~0#1| 1) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {359#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 2) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:50,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {359#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 2) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {359#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 2) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:50,910 INFO L290 TraceCheckUtils]: 9: Hoare triple {359#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 2) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {359#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 2) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:50,911 INFO L290 TraceCheckUtils]: 10: Hoare triple {359#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 2) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {360#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 3) (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,911 INFO L290 TraceCheckUtils]: 11: Hoare triple {360#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 3) (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !!(getNumbers_~i~0#1 < 10); {360#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 3) (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,912 INFO L290 TraceCheckUtils]: 12: Hoare triple {360#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 3) (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {360#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 3) (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,912 INFO L290 TraceCheckUtils]: 13: Hoare triple {360#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 3) (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {361#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 4) (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 4) (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !!(getNumbers_~i~0#1 < 10); {361#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 4) (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} is VALID [2022-02-21 00:02:50,913 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#(and (<= |ULTIMATE.start_getNumbers_~i~0#1| 4) (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|) (= (+ (- 40) (select |#length| |~#array~0.base|)) 0))} assume !(4 + (~#array~0.offset + 4 * getNumbers_~i~0#1) <= #length[~#array~0.base] && 0 <= ~#array~0.offset + 4 * getNumbers_~i~0#1); {355#false} is VALID [2022-02-21 00:02:50,914 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 00:02:50,914 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 00:02:50,914 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1731913505] [2022-02-21 00:02:50,914 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1731913505] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 00:02:50,916 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1680437996] [2022-02-21 00:02:50,916 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 00:02:50,916 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 00:02:50,916 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 00:02:50,917 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-21 00:02:50,919 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-21 00:02:50,957 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 00:02:50,958 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 00:02:50,958 INFO L263 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-21 00:02:50,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:50,969 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 00:02:51,296 INFO L290 TraceCheckUtils]: 0: Hoare triple {354#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {365#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {365#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {369#(and (<= 0 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {369#(and (<= 0 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {369#(and (<= 0 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,298 INFO L290 TraceCheckUtils]: 3: Hoare triple {369#(and (<= 0 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {369#(and (<= 0 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,299 INFO L290 TraceCheckUtils]: 4: Hoare triple {369#(and (<= 0 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {379#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {379#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {379#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,300 INFO L290 TraceCheckUtils]: 6: Hoare triple {379#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {379#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {379#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {389#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {389#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {389#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,302 INFO L290 TraceCheckUtils]: 9: Hoare triple {389#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {389#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,302 INFO L290 TraceCheckUtils]: 10: Hoare triple {389#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {399#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,303 INFO L290 TraceCheckUtils]: 11: Hoare triple {399#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {399#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,304 INFO L290 TraceCheckUtils]: 12: Hoare triple {399#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {399#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,304 INFO L290 TraceCheckUtils]: 13: Hoare triple {399#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {409#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,305 INFO L290 TraceCheckUtils]: 14: Hoare triple {409#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {413#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|) (< |ULTIMATE.start_getNumbers_~i~0#1| 10) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:51,305 INFO L290 TraceCheckUtils]: 15: Hoare triple {413#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|) (< |ULTIMATE.start_getNumbers_~i~0#1| 10) (<= 40 (select |#length| 2)))} assume !(4 + (~#array~0.offset + 4 * getNumbers_~i~0#1) <= #length[~#array~0.base] && 0 <= ~#array~0.offset + 4 * getNumbers_~i~0#1); {355#false} is VALID [2022-02-21 00:02:51,306 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 26 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 00:02:51,306 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-21 00:02:51,306 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1680437996] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 00:02:51,306 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-21 00:02:51,306 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [6] total 13 [2022-02-21 00:02:51,306 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [53952960] [2022-02-21 00:02:51,307 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 00:02:51,307 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-21 00:02:51,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 00:02:51,307 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.0) internal successors, (16), 8 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-21 00:02:51,321 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-21 00:02:51,322 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-21 00:02:51,322 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 00:02:51,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-21 00:02:51,322 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2022-02-21 00:02:51,323 INFO L87 Difference]: Start difference. First operand 28 states and 29 transitions. Second operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 8 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-21 00:02:51,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:51,413 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2022-02-21 00:02:51,413 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-21 00:02:51,413 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-21 00:02:51,413 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 00:02:51,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 8 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-21 00:02:51,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 30 transitions. [2022-02-21 00:02:51,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 8 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-21 00:02:51,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 30 transitions. [2022-02-21 00:02:51,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 30 transitions. [2022-02-21 00:02:51,438 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 00:02:51,439 INFO L225 Difference]: With dead ends: 28 [2022-02-21 00:02:51,439 INFO L226 Difference]: Without dead ends: 28 [2022-02-21 00:02:51,439 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2022-02-21 00:02:51,440 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 53 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 18 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 00:02:51,440 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 18 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 00:02:51,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-21 00:02:51,442 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 26. [2022-02-21 00:02:51,442 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 00:02:51,442 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:51,442 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:51,443 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:51,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:51,444 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2022-02-21 00:02:51,444 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2022-02-21 00:02:51,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:51,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:51,444 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 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 28 states. [2022-02-21 00:02:51,444 INFO L87 Difference]: Start difference. First operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 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 28 states. [2022-02-21 00:02:51,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:51,445 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2022-02-21 00:02:51,445 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2022-02-21 00:02:51,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:51,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:51,446 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 00:02:51,446 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 00:02:51,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:51,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 27 transitions. [2022-02-21 00:02:51,447 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 27 transitions. Word has length 16 [2022-02-21 00:02:51,447 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 00:02:51,447 INFO L470 AbstractCegarLoop]: Abstraction has 26 states and 27 transitions. [2022-02-21 00:02:51,447 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 8 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-21 00:02:51,448 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2022-02-21 00:02:51,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-21 00:02:51,448 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 00:02:51,448 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 00:02:51,470 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-21 00:02:51,663 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,SelfDestructingSolverStorable3 [2022-02-21 00:02:51,663 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 1 more)] === [2022-02-21 00:02:51,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 00:02:51,664 INFO L85 PathProgramCache]: Analyzing trace with hash -2129139286, now seen corresponding path program 1 times [2022-02-21 00:02:51,664 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 00:02:51,664 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1708088171] [2022-02-21 00:02:51,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:51,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 00:02:51,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:51,776 INFO L290 TraceCheckUtils]: 0: Hoare triple {526#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {528#(= |~#array~0.offset| 0)} is VALID [2022-02-21 00:02:51,777 INFO L290 TraceCheckUtils]: 1: Hoare triple {528#(= |~#array~0.offset| 0)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {529#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:51,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {529#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {529#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:51,778 INFO L290 TraceCheckUtils]: 3: Hoare triple {529#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {530#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,778 INFO L290 TraceCheckUtils]: 4: Hoare triple {530#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0) (<= (+ (* |ULTIMATE.start_getNumbers_~i~0#1| 4) |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,779 INFO L290 TraceCheckUtils]: 5: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,779 INFO L290 TraceCheckUtils]: 6: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,780 INFO L290 TraceCheckUtils]: 8: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,781 INFO L290 TraceCheckUtils]: 10: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,781 INFO L290 TraceCheckUtils]: 11: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,782 INFO L290 TraceCheckUtils]: 12: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,782 INFO L290 TraceCheckUtils]: 13: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,782 INFO L290 TraceCheckUtils]: 14: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} assume !(getNumbers_~i~0#1 < 10); {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:51,783 INFO L290 TraceCheckUtils]: 15: Hoare triple {531#(and (= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (select |#length| |~#array~0.base|)))} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {532#(and (<= 4 (select |#length| |ULTIMATE.start_getNumbers_#res#1.base|)) (= |ULTIMATE.start_getNumbers_#res#1.offset| 0))} is VALID [2022-02-21 00:02:51,783 INFO L290 TraceCheckUtils]: 16: Hoare triple {532#(and (<= 4 (select |#length| |ULTIMATE.start_getNumbers_#res#1.base|)) (= |ULTIMATE.start_getNumbers_#res#1.offset| 0))} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {533#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:51,784 INFO L290 TraceCheckUtils]: 17: Hoare triple {533#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {533#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:51,785 INFO L290 TraceCheckUtils]: 18: Hoare triple {533#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} assume !(4 + (main_~numbers~0#1.offset + 4 * main_~i~1#1) <= #length[main_~numbers~0#1.base] && 0 <= main_~numbers~0#1.offset + 4 * main_~i~1#1); {527#false} is VALID [2022-02-21 00:02:51,785 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-21 00:02:51,785 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 00:02:51,785 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1708088171] [2022-02-21 00:02:51,786 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1708088171] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 00:02:51,786 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [679601518] [2022-02-21 00:02:51,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:51,786 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 00:02:51,787 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 00:02:51,788 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-21 00:02:51,808 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-21 00:02:51,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:51,828 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-21 00:02:51,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:51,834 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 00:02:51,934 INFO L290 TraceCheckUtils]: 0: Hoare triple {526#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {526#true} is VALID [2022-02-21 00:02:51,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {526#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {540#(<= |ULTIMATE.start_getNumbers_~i~0#1| 0)} is VALID [2022-02-21 00:02:51,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {540#(<= |ULTIMATE.start_getNumbers_~i~0#1| 0)} assume !!(getNumbers_~i~0#1 < 10); {540#(<= |ULTIMATE.start_getNumbers_~i~0#1| 0)} is VALID [2022-02-21 00:02:51,936 INFO L290 TraceCheckUtils]: 3: Hoare triple {540#(<= |ULTIMATE.start_getNumbers_~i~0#1| 0)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {540#(<= |ULTIMATE.start_getNumbers_~i~0#1| 0)} is VALID [2022-02-21 00:02:51,936 INFO L290 TraceCheckUtils]: 4: Hoare triple {540#(<= |ULTIMATE.start_getNumbers_~i~0#1| 0)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {550#(<= |ULTIMATE.start_getNumbers_~i~0#1| 1)} is VALID [2022-02-21 00:02:51,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {550#(<= |ULTIMATE.start_getNumbers_~i~0#1| 1)} assume !!(getNumbers_~i~0#1 < 10); {550#(<= |ULTIMATE.start_getNumbers_~i~0#1| 1)} is VALID [2022-02-21 00:02:51,937 INFO L290 TraceCheckUtils]: 6: Hoare triple {550#(<= |ULTIMATE.start_getNumbers_~i~0#1| 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {550#(<= |ULTIMATE.start_getNumbers_~i~0#1| 1)} is VALID [2022-02-21 00:02:51,937 INFO L290 TraceCheckUtils]: 7: Hoare triple {550#(<= |ULTIMATE.start_getNumbers_~i~0#1| 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {560#(<= |ULTIMATE.start_getNumbers_~i~0#1| 2)} is VALID [2022-02-21 00:02:51,937 INFO L290 TraceCheckUtils]: 8: Hoare triple {560#(<= |ULTIMATE.start_getNumbers_~i~0#1| 2)} assume !!(getNumbers_~i~0#1 < 10); {560#(<= |ULTIMATE.start_getNumbers_~i~0#1| 2)} is VALID [2022-02-21 00:02:51,938 INFO L290 TraceCheckUtils]: 9: Hoare triple {560#(<= |ULTIMATE.start_getNumbers_~i~0#1| 2)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {560#(<= |ULTIMATE.start_getNumbers_~i~0#1| 2)} is VALID [2022-02-21 00:02:51,938 INFO L290 TraceCheckUtils]: 10: Hoare triple {560#(<= |ULTIMATE.start_getNumbers_~i~0#1| 2)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {570#(<= |ULTIMATE.start_getNumbers_~i~0#1| 3)} is VALID [2022-02-21 00:02:51,938 INFO L290 TraceCheckUtils]: 11: Hoare triple {570#(<= |ULTIMATE.start_getNumbers_~i~0#1| 3)} assume !!(getNumbers_~i~0#1 < 10); {570#(<= |ULTIMATE.start_getNumbers_~i~0#1| 3)} is VALID [2022-02-21 00:02:51,939 INFO L290 TraceCheckUtils]: 12: Hoare triple {570#(<= |ULTIMATE.start_getNumbers_~i~0#1| 3)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {570#(<= |ULTIMATE.start_getNumbers_~i~0#1| 3)} is VALID [2022-02-21 00:02:51,939 INFO L290 TraceCheckUtils]: 13: Hoare triple {570#(<= |ULTIMATE.start_getNumbers_~i~0#1| 3)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {580#(<= |ULTIMATE.start_getNumbers_~i~0#1| 4)} is VALID [2022-02-21 00:02:51,939 INFO L290 TraceCheckUtils]: 14: Hoare triple {580#(<= |ULTIMATE.start_getNumbers_~i~0#1| 4)} assume !(getNumbers_~i~0#1 < 10); {527#false} is VALID [2022-02-21 00:02:51,940 INFO L290 TraceCheckUtils]: 15: Hoare triple {527#false} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {527#false} is VALID [2022-02-21 00:02:51,940 INFO L290 TraceCheckUtils]: 16: Hoare triple {527#false} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {527#false} is VALID [2022-02-21 00:02:51,940 INFO L290 TraceCheckUtils]: 17: Hoare triple {527#false} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {527#false} is VALID [2022-02-21 00:02:51,940 INFO L290 TraceCheckUtils]: 18: Hoare triple {527#false} assume !(4 + (main_~numbers~0#1.offset + 4 * main_~i~1#1) <= #length[main_~numbers~0#1.base] && 0 <= main_~numbers~0#1.offset + 4 * main_~i~1#1); {527#false} is VALID [2022-02-21 00:02:51,940 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 00:02:51,940 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 00:02:52,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {527#false} assume !(4 + (main_~numbers~0#1.offset + 4 * main_~i~1#1) <= #length[main_~numbers~0#1.base] && 0 <= main_~numbers~0#1.offset + 4 * main_~i~1#1); {527#false} is VALID [2022-02-21 00:02:52,061 INFO L290 TraceCheckUtils]: 17: Hoare triple {527#false} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {527#false} is VALID [2022-02-21 00:02:52,061 INFO L290 TraceCheckUtils]: 16: Hoare triple {527#false} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {527#false} is VALID [2022-02-21 00:02:52,061 INFO L290 TraceCheckUtils]: 15: Hoare triple {527#false} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {527#false} is VALID [2022-02-21 00:02:52,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {608#(< |ULTIMATE.start_getNumbers_~i~0#1| 10)} assume !(getNumbers_~i~0#1 < 10); {527#false} is VALID [2022-02-21 00:02:52,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {612#(< |ULTIMATE.start_getNumbers_~i~0#1| 9)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {608#(< |ULTIMATE.start_getNumbers_~i~0#1| 10)} is VALID [2022-02-21 00:02:52,062 INFO L290 TraceCheckUtils]: 12: Hoare triple {612#(< |ULTIMATE.start_getNumbers_~i~0#1| 9)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {612#(< |ULTIMATE.start_getNumbers_~i~0#1| 9)} is VALID [2022-02-21 00:02:52,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {612#(< |ULTIMATE.start_getNumbers_~i~0#1| 9)} assume !!(getNumbers_~i~0#1 < 10); {612#(< |ULTIMATE.start_getNumbers_~i~0#1| 9)} is VALID [2022-02-21 00:02:52,065 INFO L290 TraceCheckUtils]: 10: Hoare triple {622#(< |ULTIMATE.start_getNumbers_~i~0#1| 8)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {612#(< |ULTIMATE.start_getNumbers_~i~0#1| 9)} is VALID [2022-02-21 00:02:52,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {622#(< |ULTIMATE.start_getNumbers_~i~0#1| 8)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {622#(< |ULTIMATE.start_getNumbers_~i~0#1| 8)} is VALID [2022-02-21 00:02:52,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {622#(< |ULTIMATE.start_getNumbers_~i~0#1| 8)} assume !!(getNumbers_~i~0#1 < 10); {622#(< |ULTIMATE.start_getNumbers_~i~0#1| 8)} is VALID [2022-02-21 00:02:52,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {632#(< |ULTIMATE.start_getNumbers_~i~0#1| 7)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {622#(< |ULTIMATE.start_getNumbers_~i~0#1| 8)} is VALID [2022-02-21 00:02:52,066 INFO L290 TraceCheckUtils]: 6: Hoare triple {632#(< |ULTIMATE.start_getNumbers_~i~0#1| 7)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {632#(< |ULTIMATE.start_getNumbers_~i~0#1| 7)} is VALID [2022-02-21 00:02:52,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {632#(< |ULTIMATE.start_getNumbers_~i~0#1| 7)} assume !!(getNumbers_~i~0#1 < 10); {632#(< |ULTIMATE.start_getNumbers_~i~0#1| 7)} is VALID [2022-02-21 00:02:52,067 INFO L290 TraceCheckUtils]: 4: Hoare triple {642#(< |ULTIMATE.start_getNumbers_~i~0#1| 6)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {632#(< |ULTIMATE.start_getNumbers_~i~0#1| 7)} is VALID [2022-02-21 00:02:52,067 INFO L290 TraceCheckUtils]: 3: Hoare triple {642#(< |ULTIMATE.start_getNumbers_~i~0#1| 6)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {642#(< |ULTIMATE.start_getNumbers_~i~0#1| 6)} is VALID [2022-02-21 00:02:52,067 INFO L290 TraceCheckUtils]: 2: Hoare triple {642#(< |ULTIMATE.start_getNumbers_~i~0#1| 6)} assume !!(getNumbers_~i~0#1 < 10); {642#(< |ULTIMATE.start_getNumbers_~i~0#1| 6)} is VALID [2022-02-21 00:02:52,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {526#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {642#(< |ULTIMATE.start_getNumbers_~i~0#1| 6)} is VALID [2022-02-21 00:02:52,068 INFO L290 TraceCheckUtils]: 0: Hoare triple {526#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {526#true} is VALID [2022-02-21 00:02:52,068 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 00:02:52,068 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [679601518] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 00:02:52,068 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 00:02:52,068 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 7, 7] total 18 [2022-02-21 00:02:52,068 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1607911757] [2022-02-21 00:02:52,068 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 00:02:52,069 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.5555555555555554) internal successors, (46), 18 states have internal predecessors, (46), 0 states have call successors, (0), 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-21 00:02:52,069 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 00:02:52,069 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 2.5555555555555554) internal successors, (46), 18 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 00:02:52,098 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-21 00:02:52,098 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 00:02:52,099 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-21 00:02:52,099 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=203, Unknown=0, NotChecked=0, Total=306 [2022-02-21 00:02:52,099 INFO L87 Difference]: Start difference. First operand 26 states and 27 transitions. Second operand has 18 states, 18 states have (on average 2.5555555555555554) internal successors, (46), 18 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:52,405 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2022-02-21 00:02:52,405 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-21 00:02:52,405 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.5555555555555554) internal successors, (46), 18 states have internal predecessors, (46), 0 states have call successors, (0), 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-21 00:02:52,405 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 00:02:52,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.5555555555555554) internal successors, (46), 18 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-02-21 00:02:52,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.5555555555555554) internal successors, (46), 18 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 58 transitions. [2022-02-21 00:02:52,407 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 58 transitions. [2022-02-21 00:02:52,450 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-21 00:02:52,450 INFO L225 Difference]: With dead ends: 49 [2022-02-21 00:02:52,450 INFO L226 Difference]: Without dead ends: 49 [2022-02-21 00:02:52,451 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 128 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=241, Invalid=571, Unknown=0, NotChecked=0, Total=812 [2022-02-21 00:02:52,451 INFO L933 BasicCegarLoop]: 7 mSDtfsCounter, 97 mSDsluCounter, 20 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 00:02:52,451 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [97 Valid, 27 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 00:02:52,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-21 00:02:52,453 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 46. [2022-02-21 00:02:52,454 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 00:02:52,454 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 46 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,454 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 46 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,454 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 46 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:52,455 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2022-02-21 00:02:52,455 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2022-02-21 00:02:52,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:52,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:52,456 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 0 states have call successors, (0), 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 49 states. [2022-02-21 00:02:52,456 INFO L87 Difference]: Start difference. First operand has 46 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 0 states have call successors, (0), 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 49 states. [2022-02-21 00:02:52,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:52,457 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2022-02-21 00:02:52,457 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2022-02-21 00:02:52,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:52,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:52,457 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 00:02:52,458 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 00:02:52,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 48 transitions. [2022-02-21 00:02:52,459 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 48 transitions. Word has length 19 [2022-02-21 00:02:52,459 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 00:02:52,459 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 48 transitions. [2022-02-21 00:02:52,459 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 2.5555555555555554) internal successors, (46), 18 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,459 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 48 transitions. [2022-02-21 00:02:52,459 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-21 00:02:52,459 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 00:02:52,460 INFO L514 BasicCegarLoop]: trace histogram [10, 10, 10, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 00:02:52,491 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-21 00:02:52,672 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 00:02:52,672 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 1 more)] === [2022-02-21 00:02:52,673 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 00:02:52,673 INFO L85 PathProgramCache]: Analyzing trace with hash 1224069289, now seen corresponding path program 1 times [2022-02-21 00:02:52,673 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 00:02:52,673 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1235885066] [2022-02-21 00:02:52,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:52,673 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 00:02:52,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:52,728 INFO L290 TraceCheckUtils]: 0: Hoare triple {869#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {869#true} is VALID [2022-02-21 00:02:52,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {869#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {869#true} is VALID [2022-02-21 00:02:52,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {869#true} assume !!(getNumbers_~i~0#1 < 10); {869#true} is VALID [2022-02-21 00:02:52,729 INFO L290 TraceCheckUtils]: 3: Hoare triple {869#true} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,729 INFO L290 TraceCheckUtils]: 4: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,729 INFO L290 TraceCheckUtils]: 5: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !!(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,730 INFO L290 TraceCheckUtils]: 6: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,730 INFO L290 TraceCheckUtils]: 7: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,730 INFO L290 TraceCheckUtils]: 8: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !!(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,731 INFO L290 TraceCheckUtils]: 9: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,731 INFO L290 TraceCheckUtils]: 10: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !!(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,731 INFO L290 TraceCheckUtils]: 12: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,732 INFO L290 TraceCheckUtils]: 13: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,732 INFO L290 TraceCheckUtils]: 14: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !!(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,732 INFO L290 TraceCheckUtils]: 15: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,733 INFO L290 TraceCheckUtils]: 16: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,733 INFO L290 TraceCheckUtils]: 17: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !!(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !!(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,734 INFO L290 TraceCheckUtils]: 21: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,734 INFO L290 TraceCheckUtils]: 22: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,735 INFO L290 TraceCheckUtils]: 23: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !!(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,735 INFO L290 TraceCheckUtils]: 24: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !!(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,736 INFO L290 TraceCheckUtils]: 28: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,736 INFO L290 TraceCheckUtils]: 29: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !!(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,737 INFO L290 TraceCheckUtils]: 30: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,737 INFO L290 TraceCheckUtils]: 31: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,737 INFO L290 TraceCheckUtils]: 32: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} assume !(getNumbers_~i~0#1 < 10); {871#(= (select |#valid| |~#array~0.base|) 1)} is VALID [2022-02-21 00:02:52,738 INFO L290 TraceCheckUtils]: 33: Hoare triple {871#(= (select |#valid| |~#array~0.base|) 1)} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {872#(= (select |#valid| |ULTIMATE.start_getNumbers_#res#1.base|) 1)} is VALID [2022-02-21 00:02:52,738 INFO L290 TraceCheckUtils]: 34: Hoare triple {872#(= (select |#valid| |ULTIMATE.start_getNumbers_#res#1.base|) 1)} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {873#(= (select |#valid| |ULTIMATE.start_main_~numbers~0#1.base|) 1)} is VALID [2022-02-21 00:02:52,738 INFO L290 TraceCheckUtils]: 35: Hoare triple {873#(= (select |#valid| |ULTIMATE.start_main_~numbers~0#1.base|) 1)} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {873#(= (select |#valid| |ULTIMATE.start_main_~numbers~0#1.base|) 1)} is VALID [2022-02-21 00:02:52,738 INFO L290 TraceCheckUtils]: 36: Hoare triple {873#(= (select |#valid| |ULTIMATE.start_main_~numbers~0#1.base|) 1)} assume !(1 == #valid[main_~numbers~0#1.base]); {870#false} is VALID [2022-02-21 00:02:52,739 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 19 proven. 0 refuted. 0 times theorem prover too weak. 126 trivial. 0 not checked. [2022-02-21 00:02:52,739 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 00:02:52,739 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1235885066] [2022-02-21 00:02:52,739 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1235885066] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 00:02:52,739 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 00:02:52,739 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 00:02:52,739 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1851551621] [2022-02-21 00:02:52,740 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 00:02:52,740 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.0) 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 37 [2022-02-21 00:02:52,740 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 00:02:52,740 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.0) 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-21 00:02:52,747 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-21 00:02:52,747 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 00:02:52,747 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 00:02:52,748 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 00:02:52,748 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 00:02:52,748 INFO L87 Difference]: Start difference. First operand 46 states and 48 transitions. Second operand has 5 states, 4 states have (on average 3.0) 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-21 00:02:52,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:52,780 INFO L93 Difference]: Finished difference Result 45 states and 46 transitions. [2022-02-21 00:02:52,780 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-21 00:02:52,781 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.0) 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 37 [2022-02-21 00:02:52,782 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 00:02:52,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.0) 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-21 00:02:52,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 17 transitions. [2022-02-21 00:02:52,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.0) 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-21 00:02:52,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 17 transitions. [2022-02-21 00:02:52,783 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 17 transitions. [2022-02-21 00:02:52,792 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-21 00:02:52,794 INFO L225 Difference]: With dead ends: 45 [2022-02-21 00:02:52,794 INFO L226 Difference]: Without dead ends: 45 [2022-02-21 00:02:52,794 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-21 00:02:52,795 INFO L933 BasicCegarLoop]: 9 mSDtfsCounter, 27 mSDsluCounter, 6 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 15 SdHoareTripleChecker+Invalid, 15 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 00:02:52,795 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 15 Invalid, 15 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 00:02:52,796 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-02-21 00:02:52,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2022-02-21 00:02:52,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 00:02:52,800 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 45 states, 43 states have (on average 1.069767441860465) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,800 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 45 states, 43 states have (on average 1.069767441860465) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,801 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 45 states, 43 states have (on average 1.069767441860465) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:52,803 INFO L93 Difference]: Finished difference Result 45 states and 46 transitions. [2022-02-21 00:02:52,803 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 46 transitions. [2022-02-21 00:02:52,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:52,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:52,804 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 43 states have (on average 1.069767441860465) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 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 45 states. [2022-02-21 00:02:52,804 INFO L87 Difference]: Start difference. First operand has 45 states, 43 states have (on average 1.069767441860465) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 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 45 states. [2022-02-21 00:02:52,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:52,806 INFO L93 Difference]: Finished difference Result 45 states and 46 transitions. [2022-02-21 00:02:52,806 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 46 transitions. [2022-02-21 00:02:52,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:52,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:52,806 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 00:02:52,806 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 00:02:52,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 43 states have (on average 1.069767441860465) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:52,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 46 transitions. [2022-02-21 00:02:52,808 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 46 transitions. Word has length 37 [2022-02-21 00:02:52,809 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 00:02:52,810 INFO L470 AbstractCegarLoop]: Abstraction has 45 states and 46 transitions. [2022-02-21 00:02:52,810 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.0) 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-21 00:02:52,810 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 46 transitions. [2022-02-21 00:02:52,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-21 00:02:52,814 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 00:02:52,814 INFO L514 BasicCegarLoop]: trace histogram [10, 10, 10, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 00:02:52,814 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-21 00:02:52,814 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 1 more)] === [2022-02-21 00:02:52,815 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 00:02:52,815 INFO L85 PathProgramCache]: Analyzing trace with hash 1121764333, now seen corresponding path program 1 times [2022-02-21 00:02:52,815 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 00:02:52,815 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2116359571] [2022-02-21 00:02:52,815 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:52,815 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 00:02:52,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:53,071 INFO L290 TraceCheckUtils]: 0: Hoare triple {1060#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {1062#(= |~#array~0.offset| 0)} is VALID [2022-02-21 00:02:53,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {1062#(= |~#array~0.offset| 0)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {1063#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {1063#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1063#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,072 INFO L290 TraceCheckUtils]: 3: Hoare triple {1063#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1063#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,073 INFO L290 TraceCheckUtils]: 4: Hoare triple {1063#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1064#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,073 INFO L290 TraceCheckUtils]: 5: Hoare triple {1064#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1064#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,074 INFO L290 TraceCheckUtils]: 6: Hoare triple {1064#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1064#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {1064#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1065#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,074 INFO L290 TraceCheckUtils]: 8: Hoare triple {1065#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1065#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {1065#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1065#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,075 INFO L290 TraceCheckUtils]: 10: Hoare triple {1065#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1066#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,076 INFO L290 TraceCheckUtils]: 11: Hoare triple {1066#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1066#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,076 INFO L290 TraceCheckUtils]: 12: Hoare triple {1066#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1066#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,077 INFO L290 TraceCheckUtils]: 13: Hoare triple {1066#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1067#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,077 INFO L290 TraceCheckUtils]: 14: Hoare triple {1067#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1067#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,078 INFO L290 TraceCheckUtils]: 15: Hoare triple {1067#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1067#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,078 INFO L290 TraceCheckUtils]: 16: Hoare triple {1067#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1068#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,078 INFO L290 TraceCheckUtils]: 17: Hoare triple {1068#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1068#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,079 INFO L290 TraceCheckUtils]: 18: Hoare triple {1068#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1068#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,088 INFO L290 TraceCheckUtils]: 19: Hoare triple {1068#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1069#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {1069#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1069#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,089 INFO L290 TraceCheckUtils]: 21: Hoare triple {1069#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1069#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,089 INFO L290 TraceCheckUtils]: 22: Hoare triple {1069#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1070#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {1070#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1070#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,090 INFO L290 TraceCheckUtils]: 24: Hoare triple {1070#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1070#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,091 INFO L290 TraceCheckUtils]: 25: Hoare triple {1070#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1071#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,091 INFO L290 TraceCheckUtils]: 26: Hoare triple {1071#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1071#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,091 INFO L290 TraceCheckUtils]: 27: Hoare triple {1071#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1071#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:53,092 INFO L290 TraceCheckUtils]: 28: Hoare triple {1071#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1072#(and (<= 9 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,092 INFO L290 TraceCheckUtils]: 29: Hoare triple {1072#(and (<= 9 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1072#(and (<= 9 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:53,093 INFO L290 TraceCheckUtils]: 30: Hoare triple {1072#(and (<= 9 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1073#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,093 INFO L290 TraceCheckUtils]: 31: Hoare triple {1073#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1073#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,094 INFO L290 TraceCheckUtils]: 32: Hoare triple {1073#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} assume !(getNumbers_~i~0#1 < 10); {1073#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,094 INFO L290 TraceCheckUtils]: 33: Hoare triple {1073#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {1074#(and (= |ULTIMATE.start_getNumbers_#res#1.offset| 0) (<= 40 (select |#length| |ULTIMATE.start_getNumbers_#res#1.base|)))} is VALID [2022-02-21 00:02:53,094 INFO L290 TraceCheckUtils]: 34: Hoare triple {1074#(and (= |ULTIMATE.start_getNumbers_#res#1.offset| 0) (<= 40 (select |#length| |ULTIMATE.start_getNumbers_#res#1.base|)))} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {1075#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:53,095 INFO L290 TraceCheckUtils]: 35: Hoare triple {1075#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1075#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:53,095 INFO L290 TraceCheckUtils]: 36: Hoare triple {1075#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1075#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:53,096 INFO L290 TraceCheckUtils]: 37: Hoare triple {1075#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} havoc main_#t~mem4#1; {1075#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:53,096 INFO L290 TraceCheckUtils]: 38: Hoare triple {1075#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1076#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:53,096 INFO L290 TraceCheckUtils]: 39: Hoare triple {1076#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1076#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:53,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {1076#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} assume !(4 + (main_~numbers~0#1.offset + 4 * main_~i~1#1) <= #length[main_~numbers~0#1.base] && 0 <= main_~numbers~0#1.offset + 4 * main_~i~1#1); {1061#false} is VALID [2022-02-21 00:02:53,097 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 100 proven. 47 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 00:02:53,097 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 00:02:53,097 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2116359571] [2022-02-21 00:02:53,098 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2116359571] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 00:02:53,098 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [242522323] [2022-02-21 00:02:53,098 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:53,098 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 00:02:53,098 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 00:02:53,099 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-21 00:02:53,100 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-21 00:02:53,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:53,158 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-21 00:02:53,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:53,173 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 00:02:53,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {1060#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,545 INFO L290 TraceCheckUtils]: 3: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,546 INFO L290 TraceCheckUtils]: 4: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,546 INFO L290 TraceCheckUtils]: 5: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,546 INFO L290 TraceCheckUtils]: 6: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,551 INFO L290 TraceCheckUtils]: 10: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,551 INFO L290 TraceCheckUtils]: 11: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,552 INFO L290 TraceCheckUtils]: 12: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,552 INFO L290 TraceCheckUtils]: 13: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,553 INFO L290 TraceCheckUtils]: 15: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,553 INFO L290 TraceCheckUtils]: 16: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,554 INFO L290 TraceCheckUtils]: 17: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,554 INFO L290 TraceCheckUtils]: 18: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,555 INFO L290 TraceCheckUtils]: 19: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,555 INFO L290 TraceCheckUtils]: 20: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,555 INFO L290 TraceCheckUtils]: 21: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,556 INFO L290 TraceCheckUtils]: 22: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,556 INFO L290 TraceCheckUtils]: 23: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,556 INFO L290 TraceCheckUtils]: 24: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,557 INFO L290 TraceCheckUtils]: 25: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,557 INFO L290 TraceCheckUtils]: 26: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,558 INFO L290 TraceCheckUtils]: 27: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,558 INFO L290 TraceCheckUtils]: 28: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,558 INFO L290 TraceCheckUtils]: 29: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,559 INFO L290 TraceCheckUtils]: 30: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,559 INFO L290 TraceCheckUtils]: 31: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,560 INFO L290 TraceCheckUtils]: 32: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !(getNumbers_~i~0#1 < 10); {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,560 INFO L290 TraceCheckUtils]: 33: Hoare triple {1080#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {1180#(and (= |ULTIMATE.start_getNumbers_#res#1.offset| 0) (= |ULTIMATE.start_getNumbers_#res#1.base| 2) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,560 INFO L290 TraceCheckUtils]: 34: Hoare triple {1180#(and (= |ULTIMATE.start_getNumbers_#res#1.offset| 0) (= |ULTIMATE.start_getNumbers_#res#1.base| 2) (<= 40 (select |#length| 2)))} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {1184#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,561 INFO L290 TraceCheckUtils]: 35: Hoare triple {1184#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1184#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,561 INFO L290 TraceCheckUtils]: 36: Hoare triple {1184#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1184#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,562 INFO L290 TraceCheckUtils]: 37: Hoare triple {1184#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} havoc main_#t~mem4#1; {1184#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,562 INFO L290 TraceCheckUtils]: 38: Hoare triple {1184#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1197#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,562 INFO L290 TraceCheckUtils]: 39: Hoare triple {1197#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1197#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:53,563 INFO L290 TraceCheckUtils]: 40: Hoare triple {1197#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~i~1#1| 1) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} assume !(4 + (main_~numbers~0#1.offset + 4 * main_~i~1#1) <= #length[main_~numbers~0#1.base] && 0 <= main_~numbers~0#1.offset + 4 * main_~i~1#1); {1061#false} is VALID [2022-02-21 00:02:53,563 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 145 trivial. 0 not checked. [2022-02-21 00:02:53,563 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 00:02:53,947 INFO L290 TraceCheckUtils]: 40: Hoare triple {1204#(and (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~numbers~0#1.offset|)) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} assume !(4 + (main_~numbers~0#1.offset + 4 * main_~i~1#1) <= #length[main_~numbers~0#1.base] && 0 <= main_~numbers~0#1.offset + 4 * main_~i~1#1); {1061#false} is VALID [2022-02-21 00:02:53,963 INFO L290 TraceCheckUtils]: 39: Hoare triple {1204#(and (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~numbers~0#1.offset|)) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1204#(and (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~numbers~0#1.offset|)) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:53,964 INFO L290 TraceCheckUtils]: 38: Hoare triple {1211#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 8 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1204#(and (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) |ULTIMATE.start_main_~numbers~0#1.offset|)) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:53,965 INFO L290 TraceCheckUtils]: 37: Hoare triple {1211#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 8 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|)))} havoc main_#t~mem4#1; {1211#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 8 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|)))} is VALID [2022-02-21 00:02:53,965 INFO L290 TraceCheckUtils]: 36: Hoare triple {1211#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 8 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|)))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1211#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 8 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|)))} is VALID [2022-02-21 00:02:53,966 INFO L290 TraceCheckUtils]: 35: Hoare triple {1211#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 8 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1211#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 8 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|)))} is VALID [2022-02-21 00:02:53,966 INFO L290 TraceCheckUtils]: 34: Hoare triple {1224#(and (<= (+ |ULTIMATE.start_getNumbers_#res#1.offset| 8) (select |#length| |ULTIMATE.start_getNumbers_#res#1.base|)) (<= 0 (+ |ULTIMATE.start_getNumbers_#res#1.offset| 4)))} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {1211#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 8 |ULTIMATE.start_main_~numbers~0#1.offset|) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 0 (+ (* |ULTIMATE.start_main_~i~1#1| 4) 4 |ULTIMATE.start_main_~numbers~0#1.offset|)))} is VALID [2022-02-21 00:02:53,966 INFO L290 TraceCheckUtils]: 33: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {1224#(and (<= (+ |ULTIMATE.start_getNumbers_#res#1.offset| 8) (select |#length| |ULTIMATE.start_getNumbers_#res#1.base|)) (<= 0 (+ |ULTIMATE.start_getNumbers_#res#1.offset| 4)))} is VALID [2022-02-21 00:02:53,967 INFO L290 TraceCheckUtils]: 32: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,967 INFO L290 TraceCheckUtils]: 31: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,968 INFO L290 TraceCheckUtils]: 30: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,968 INFO L290 TraceCheckUtils]: 29: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,969 INFO L290 TraceCheckUtils]: 28: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,971 INFO L290 TraceCheckUtils]: 26: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,972 INFO L290 TraceCheckUtils]: 25: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,973 INFO L290 TraceCheckUtils]: 24: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,974 INFO L290 TraceCheckUtils]: 23: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,977 INFO L290 TraceCheckUtils]: 21: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,977 INFO L290 TraceCheckUtils]: 20: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,978 INFO L290 TraceCheckUtils]: 19: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,978 INFO L290 TraceCheckUtils]: 18: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,978 INFO L290 TraceCheckUtils]: 17: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,979 INFO L290 TraceCheckUtils]: 15: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,980 INFO L290 TraceCheckUtils]: 13: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,980 INFO L290 TraceCheckUtils]: 12: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,981 INFO L290 TraceCheckUtils]: 10: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,983 INFO L290 TraceCheckUtils]: 6: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,983 INFO L290 TraceCheckUtils]: 5: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,984 INFO L290 TraceCheckUtils]: 4: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,984 INFO L290 TraceCheckUtils]: 3: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume !!(getNumbers_~i~0#1 < 10); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,985 INFO L290 TraceCheckUtils]: 1: Hoare triple {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,985 INFO L290 TraceCheckUtils]: 0: Hoare triple {1060#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {1228#(and (<= 0 (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:53,986 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 145 trivial. 0 not checked. [2022-02-21 00:02:53,986 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [242522323] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 00:02:53,986 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 00:02:53,986 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 4, 4] total 23 [2022-02-21 00:02:53,986 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1370292218] [2022-02-21 00:02:53,986 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 00:02:53,987 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 24 states have (on average 2.875) internal successors, (69), 24 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) Word has length 41 [2022-02-21 00:02:53,987 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 00:02:53,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 25 states, 24 states have (on average 2.875) internal successors, (69), 24 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-21 00:02:54,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 00:02:54,028 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-02-21 00:02:54,028 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 00:02:54,028 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-02-21 00:02:54,029 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=489, Unknown=0, NotChecked=0, Total=600 [2022-02-21 00:02:54,029 INFO L87 Difference]: Start difference. First operand 45 states and 46 transitions. Second operand has 25 states, 24 states have (on average 2.875) internal successors, (69), 24 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-21 00:02:54,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:54,798 INFO L93 Difference]: Finished difference Result 63 states and 64 transitions. [2022-02-21 00:02:54,798 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-21 00:02:54,798 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 24 states have (on average 2.875) internal successors, (69), 24 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) Word has length 41 [2022-02-21 00:02:54,798 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 00:02:54,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 24 states have (on average 2.875) internal successors, (69), 24 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-21 00:02:54,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 67 transitions. [2022-02-21 00:02:54,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 24 states have (on average 2.875) internal successors, (69), 24 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-21 00:02:54,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 67 transitions. [2022-02-21 00:02:54,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 67 transitions. [2022-02-21 00:02:54,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 00:02:54,863 INFO L225 Difference]: With dead ends: 63 [2022-02-21 00:02:54,863 INFO L226 Difference]: Without dead ends: 63 [2022-02-21 00:02:54,863 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 72 SyntacticMatches, 0 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 253 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=408, Invalid=1152, Unknown=0, NotChecked=0, Total=1560 [2022-02-21 00:02:54,864 INFO L933 BasicCegarLoop]: 6 mSDtfsCounter, 157 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 307 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 157 SdHoareTripleChecker+Valid, 24 SdHoareTripleChecker+Invalid, 336 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 307 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-21 00:02:54,864 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [157 Valid, 24 Invalid, 336 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 307 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-21 00:02:54,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-02-21 00:02:54,866 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 57. [2022-02-21 00:02:54,866 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 00:02:54,866 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 57 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 56 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-21 00:02:54,866 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 57 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 56 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-21 00:02:54,866 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 57 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 56 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-21 00:02:54,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:54,867 INFO L93 Difference]: Finished difference Result 63 states and 64 transitions. [2022-02-21 00:02:54,867 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 64 transitions. [2022-02-21 00:02:54,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:54,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:54,868 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 56 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 63 states. [2022-02-21 00:02:54,868 INFO L87 Difference]: Start difference. First operand has 57 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 56 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 63 states. [2022-02-21 00:02:54,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:54,869 INFO L93 Difference]: Finished difference Result 63 states and 64 transitions. [2022-02-21 00:02:54,869 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 64 transitions. [2022-02-21 00:02:54,869 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:54,869 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:54,869 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 00:02:54,869 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 00:02:54,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 56 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-21 00:02:54,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 60 transitions. [2022-02-21 00:02:54,870 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 60 transitions. Word has length 41 [2022-02-21 00:02:54,870 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 00:02:54,870 INFO L470 AbstractCegarLoop]: Abstraction has 57 states and 60 transitions. [2022-02-21 00:02:54,871 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 24 states have (on average 2.875) internal successors, (69), 24 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-21 00:02:54,871 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 60 transitions. [2022-02-21 00:02:54,872 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-21 00:02:54,872 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 00:02:54,872 INFO L514 BasicCegarLoop]: trace histogram [10, 10, 10, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 00:02:54,893 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-21 00:02:55,091 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 00:02:55,091 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr4ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 1 more)] === [2022-02-21 00:02:55,091 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 00:02:55,092 INFO L85 PathProgramCache]: Analyzing trace with hash 2055819728, now seen corresponding path program 1 times [2022-02-21 00:02:55,092 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 00:02:55,092 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2114970284] [2022-02-21 00:02:55,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:55,092 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 00:02:55,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:55,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {1603#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {1603#true} is VALID [2022-02-21 00:02:55,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {1603#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,131 INFO L290 TraceCheckUtils]: 3: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,132 INFO L290 TraceCheckUtils]: 6: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,133 INFO L290 TraceCheckUtils]: 9: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,134 INFO L290 TraceCheckUtils]: 12: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,136 INFO L290 TraceCheckUtils]: 16: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,136 INFO L290 TraceCheckUtils]: 17: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,136 INFO L290 TraceCheckUtils]: 18: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,138 INFO L290 TraceCheckUtils]: 22: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,140 INFO L290 TraceCheckUtils]: 24: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,140 INFO L290 TraceCheckUtils]: 25: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,140 INFO L290 TraceCheckUtils]: 26: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,141 INFO L290 TraceCheckUtils]: 27: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,141 INFO L290 TraceCheckUtils]: 28: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,142 INFO L290 TraceCheckUtils]: 29: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,142 INFO L290 TraceCheckUtils]: 30: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,143 INFO L290 TraceCheckUtils]: 31: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,143 INFO L290 TraceCheckUtils]: 32: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !(getNumbers_~i~0#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,143 INFO L290 TraceCheckUtils]: 33: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,144 INFO L290 TraceCheckUtils]: 34: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,144 INFO L290 TraceCheckUtils]: 35: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,144 INFO L290 TraceCheckUtils]: 36: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,145 INFO L290 TraceCheckUtils]: 37: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} havoc main_#t~mem4#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,145 INFO L290 TraceCheckUtils]: 38: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,145 INFO L290 TraceCheckUtils]: 39: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,146 INFO L290 TraceCheckUtils]: 40: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,146 INFO L290 TraceCheckUtils]: 41: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} havoc main_#t~mem4#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,146 INFO L290 TraceCheckUtils]: 42: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,147 INFO L290 TraceCheckUtils]: 43: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !(main_~i~1#1 < 10); {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,147 INFO L290 TraceCheckUtils]: 44: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} main_#res#1 := 0; {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-21 00:02:55,147 INFO L290 TraceCheckUtils]: 45: Hoare triple {1605#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !(#valid == main_old_#valid#1); {1604#false} is VALID [2022-02-21 00:02:55,148 INFO L134 CoverageAnalysis]: Checked inductivity of 151 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2022-02-21 00:02:55,148 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 00:02:55,148 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2114970284] [2022-02-21 00:02:55,148 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2114970284] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 00:02:55,148 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 00:02:55,149 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-21 00:02:55,149 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [798267649] [2022-02-21 00:02:55,149 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 00:02:55,149 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 7.5) internal successors, (15), 3 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 46 [2022-02-21 00:02:55,149 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 00:02:55,149 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 7.5) internal successors, (15), 3 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-21 00:02:55,157 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-21 00:02:55,158 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-21 00:02:55,158 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 00:02:55,158 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-21 00:02:55,159 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-21 00:02:55,159 INFO L87 Difference]: Start difference. First operand 57 states and 60 transitions. Second operand has 3 states, 2 states have (on average 7.5) internal successors, (15), 3 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-21 00:02:55,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:55,169 INFO L93 Difference]: Finished difference Result 56 states and 59 transitions. [2022-02-21 00:02:55,169 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-21 00:02:55,169 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 7.5) internal successors, (15), 3 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 46 [2022-02-21 00:02:55,170 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 00:02:55,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 7.5) internal successors, (15), 3 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-21 00:02:55,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 16 transitions. [2022-02-21 00:02:55,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 7.5) internal successors, (15), 3 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-21 00:02:55,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 16 transitions. [2022-02-21 00:02:55,171 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 16 transitions. [2022-02-21 00:02:55,179 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-21 00:02:55,180 INFO L225 Difference]: With dead ends: 56 [2022-02-21 00:02:55,180 INFO L226 Difference]: Without dead ends: 54 [2022-02-21 00:02:55,180 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-21 00:02:55,181 INFO L933 BasicCegarLoop]: 13 mSDtfsCounter, 1 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 3 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 13 SdHoareTripleChecker+Invalid, 3 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 3 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 00:02:55,181 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 13 Invalid, 3 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 3 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 00:02:55,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-02-21 00:02:55,184 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-02-21 00:02:55,184 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 00:02:55,184 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 53 states have (on average 1.0377358490566038) internal successors, (55), 53 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:55,184 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 53 states have (on average 1.0377358490566038) internal successors, (55), 53 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:55,184 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 53 states have (on average 1.0377358490566038) internal successors, (55), 53 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:55,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:55,185 INFO L93 Difference]: Finished difference Result 54 states and 55 transitions. [2022-02-21 00:02:55,185 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2022-02-21 00:02:55,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:55,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:55,186 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 53 states have (on average 1.0377358490566038) internal successors, (55), 53 states have internal predecessors, (55), 0 states have call successors, (0), 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-21 00:02:55,186 INFO L87 Difference]: Start difference. First operand has 54 states, 53 states have (on average 1.0377358490566038) internal successors, (55), 53 states have internal predecessors, (55), 0 states have call successors, (0), 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-21 00:02:55,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:55,187 INFO L93 Difference]: Finished difference Result 54 states and 55 transitions. [2022-02-21 00:02:55,187 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2022-02-21 00:02:55,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:55,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:55,187 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 00:02:55,188 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 00:02:55,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 53 states have (on average 1.0377358490566038) internal successors, (55), 53 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:55,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2022-02-21 00:02:55,189 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 46 [2022-02-21 00:02:55,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 00:02:55,189 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2022-02-21 00:02:55,189 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 7.5) internal successors, (15), 3 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-21 00:02:55,189 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2022-02-21 00:02:55,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-02-21 00:02:55,189 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 00:02:55,190 INFO L514 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 4, 4, 4, 1, 1, 1, 1, 1, 1] [2022-02-21 00:02:55,190 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-21 00:02:55,190 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 1 more)] === [2022-02-21 00:02:55,190 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 00:02:55,190 INFO L85 PathProgramCache]: Analyzing trace with hash -783514442, now seen corresponding path program 2 times [2022-02-21 00:02:55,190 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 00:02:55,190 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1893327707] [2022-02-21 00:02:55,191 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 00:02:55,191 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 00:02:55,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:55,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {1826#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {1828#(= |~#array~0.offset| 0)} is VALID [2022-02-21 00:02:55,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {1828#(= |~#array~0.offset| 0)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {1829#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {1829#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1829#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,469 INFO L290 TraceCheckUtils]: 3: Hoare triple {1829#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1829#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,469 INFO L290 TraceCheckUtils]: 4: Hoare triple {1829#(and (= |ULTIMATE.start_getNumbers_~i~0#1| 0) (= |~#array~0.offset| 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1830#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {1830#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1830#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,470 INFO L290 TraceCheckUtils]: 6: Hoare triple {1830#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1830#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {1830#(and (<= 1 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1831#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {1831#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1831#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,471 INFO L290 TraceCheckUtils]: 9: Hoare triple {1831#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1831#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,471 INFO L290 TraceCheckUtils]: 10: Hoare triple {1831#(and (= |~#array~0.offset| 0) (<= 2 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1832#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,472 INFO L290 TraceCheckUtils]: 11: Hoare triple {1832#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1832#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,472 INFO L290 TraceCheckUtils]: 12: Hoare triple {1832#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1832#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,472 INFO L290 TraceCheckUtils]: 13: Hoare triple {1832#(and (<= 3 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1833#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,474 INFO L290 TraceCheckUtils]: 14: Hoare triple {1833#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1833#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,474 INFO L290 TraceCheckUtils]: 15: Hoare triple {1833#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1833#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,475 INFO L290 TraceCheckUtils]: 16: Hoare triple {1833#(and (= |~#array~0.offset| 0) (<= 4 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1834#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,475 INFO L290 TraceCheckUtils]: 17: Hoare triple {1834#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1834#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {1834#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1834#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,476 INFO L290 TraceCheckUtils]: 19: Hoare triple {1834#(and (= |~#array~0.offset| 0) (<= 5 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1835#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {1835#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1835#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,477 INFO L290 TraceCheckUtils]: 21: Hoare triple {1835#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1835#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,477 INFO L290 TraceCheckUtils]: 22: Hoare triple {1835#(and (= |~#array~0.offset| 0) (<= 6 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1836#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,477 INFO L290 TraceCheckUtils]: 23: Hoare triple {1836#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1836#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,478 INFO L290 TraceCheckUtils]: 24: Hoare triple {1836#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1836#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,478 INFO L290 TraceCheckUtils]: 25: Hoare triple {1836#(and (<= 7 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1837#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,479 INFO L290 TraceCheckUtils]: 26: Hoare triple {1837#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} assume !!(getNumbers_~i~0#1 < 10); {1837#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,479 INFO L290 TraceCheckUtils]: 27: Hoare triple {1837#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1837#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} is VALID [2022-02-21 00:02:55,479 INFO L290 TraceCheckUtils]: 28: Hoare triple {1837#(and (= |~#array~0.offset| 0) (<= 8 |ULTIMATE.start_getNumbers_~i~0#1|))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1838#(and (<= 9 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,480 INFO L290 TraceCheckUtils]: 29: Hoare triple {1838#(and (<= 9 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} assume !!(getNumbers_~i~0#1 < 10); {1838#(and (<= 9 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} is VALID [2022-02-21 00:02:55,480 INFO L290 TraceCheckUtils]: 30: Hoare triple {1838#(and (<= 9 |ULTIMATE.start_getNumbers_~i~0#1|) (= |~#array~0.offset| 0))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1839#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:55,481 INFO L290 TraceCheckUtils]: 31: Hoare triple {1839#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1839#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:55,481 INFO L290 TraceCheckUtils]: 32: Hoare triple {1839#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} assume !(getNumbers_~i~0#1 < 10); {1839#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} is VALID [2022-02-21 00:02:55,481 INFO L290 TraceCheckUtils]: 33: Hoare triple {1839#(and (= |~#array~0.offset| 0) (<= (+ 40 |~#array~0.offset|) (select |#length| |~#array~0.base|)))} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {1840#(and (= |ULTIMATE.start_getNumbers_#res#1.offset| 0) (<= 40 (select |#length| |ULTIMATE.start_getNumbers_#res#1.base|)))} is VALID [2022-02-21 00:02:55,482 INFO L290 TraceCheckUtils]: 34: Hoare triple {1840#(and (= |ULTIMATE.start_getNumbers_#res#1.offset| 0) (<= 40 (select |#length| |ULTIMATE.start_getNumbers_#res#1.base|)))} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {1841#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,482 INFO L290 TraceCheckUtils]: 35: Hoare triple {1841#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1841#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,482 INFO L290 TraceCheckUtils]: 36: Hoare triple {1841#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1841#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,483 INFO L290 TraceCheckUtils]: 37: Hoare triple {1841#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} havoc main_#t~mem4#1; {1841#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,483 INFO L290 TraceCheckUtils]: 38: Hoare triple {1841#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 40 (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1842#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,484 INFO L290 TraceCheckUtils]: 39: Hoare triple {1842#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1842#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,484 INFO L290 TraceCheckUtils]: 40: Hoare triple {1842#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1842#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,484 INFO L290 TraceCheckUtils]: 41: Hoare triple {1842#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} havoc main_#t~mem4#1; {1842#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,485 INFO L290 TraceCheckUtils]: 42: Hoare triple {1842#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 36) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1843#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (<= (+ 32 (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,485 INFO L290 TraceCheckUtils]: 43: Hoare triple {1843#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (<= (+ 32 (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1843#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (<= (+ 32 (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,486 INFO L290 TraceCheckUtils]: 44: Hoare triple {1843#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (<= (+ 32 (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1843#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (<= (+ 32 (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,486 INFO L290 TraceCheckUtils]: 45: Hoare triple {1843#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (<= (+ 32 (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} havoc main_#t~mem4#1; {1843#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (<= (+ 32 (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} is VALID [2022-02-21 00:02:55,487 INFO L290 TraceCheckUtils]: 46: Hoare triple {1843#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (<= (+ 32 (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1844#(and (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:55,487 INFO L290 TraceCheckUtils]: 47: Hoare triple {1844#(and (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1844#(and (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:55,487 INFO L290 TraceCheckUtils]: 48: Hoare triple {1844#(and (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1844#(and (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:55,488 INFO L290 TraceCheckUtils]: 49: Hoare triple {1844#(and (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} havoc main_#t~mem4#1; {1844#(and (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:55,488 INFO L290 TraceCheckUtils]: 50: Hoare triple {1844#(and (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1845#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 24) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:55,489 INFO L290 TraceCheckUtils]: 51: Hoare triple {1845#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 24) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1845#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 24) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} is VALID [2022-02-21 00:02:55,489 INFO L290 TraceCheckUtils]: 52: Hoare triple {1845#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 24) (select |#length| |ULTIMATE.start_main_~numbers~0#1.base|)))} assume !(4 + (main_~numbers~0#1.offset + 4 * main_~i~1#1) <= #length[main_~numbers~0#1.base] && 0 <= main_~numbers~0#1.offset + 4 * main_~i~1#1); {1827#false} is VALID [2022-02-21 00:02:55,490 INFO L134 CoverageAnalysis]: Checked inductivity of 177 backedges. 100 proven. 77 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 00:02:55,490 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 00:02:55,490 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1893327707] [2022-02-21 00:02:55,490 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1893327707] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 00:02:55,490 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1871122818] [2022-02-21 00:02:55,490 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 00:02:55,490 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 00:02:55,490 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 00:02:55,491 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-21 00:02:55,507 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-21 00:02:55,565 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 00:02:55,565 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 00:02:55,566 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-21 00:02:55,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 00:02:55,576 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 00:02:56,236 INFO L290 TraceCheckUtils]: 0: Hoare triple {1826#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(4, 1);call write~init~int(37, 1, 0, 1);call write~init~int(100, 1, 1, 1);call write~init~int(10, 1, 2, 1);call write~init~int(0, 1, 3, 1);~#array~0.base, ~#array~0.offset := 2, 0;call #Ultimate.allocInit(40, 2);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#array~0.base); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset, main_#t~nondet3#1, main_#t~mem4#1, main_#t~post2#1, main_~i~1#1, main_~numbers~0#1.base, main_~numbers~0#1.offset;assume { :begin_inline_getNumbers } true;havoc getNumbers_#res#1.base, getNumbers_#res#1.offset;havoc getNumbers_#t~pre0#1, getNumbers_~i~0#1;getNumbers_~i~0#1 := 0; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,246 INFO L290 TraceCheckUtils]: 3: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,246 INFO L290 TraceCheckUtils]: 4: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,246 INFO L290 TraceCheckUtils]: 5: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,247 INFO L290 TraceCheckUtils]: 6: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,248 INFO L290 TraceCheckUtils]: 10: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,249 INFO L290 TraceCheckUtils]: 12: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,249 INFO L290 TraceCheckUtils]: 13: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,250 INFO L290 TraceCheckUtils]: 14: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,250 INFO L290 TraceCheckUtils]: 15: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,251 INFO L290 TraceCheckUtils]: 16: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,251 INFO L290 TraceCheckUtils]: 17: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,252 INFO L290 TraceCheckUtils]: 19: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,252 INFO L290 TraceCheckUtils]: 20: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,252 INFO L290 TraceCheckUtils]: 21: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,253 INFO L290 TraceCheckUtils]: 22: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,253 INFO L290 TraceCheckUtils]: 23: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,253 INFO L290 TraceCheckUtils]: 24: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,254 INFO L290 TraceCheckUtils]: 25: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,254 INFO L290 TraceCheckUtils]: 26: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,255 INFO L290 TraceCheckUtils]: 27: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,255 INFO L290 TraceCheckUtils]: 28: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,255 INFO L290 TraceCheckUtils]: 29: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !!(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,256 INFO L290 TraceCheckUtils]: 30: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} SUMMARY for call write~int(getNumbers_~i~0#1, ~#array~0.base, ~#array~0.offset + 4 * getNumbers_~i~0#1, 4); srcloc: L9 {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#t~pre0#1 := 1 + getNumbers_~i~0#1;getNumbers_~i~0#1 := 1 + getNumbers_~i~0#1;havoc getNumbers_#t~pre0#1; {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,256 INFO L290 TraceCheckUtils]: 32: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} assume !(getNumbers_~i~0#1 < 10); {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,257 INFO L290 TraceCheckUtils]: 33: Hoare triple {1849#(and (= |~#array~0.offset| 0) (= 2 |~#array~0.base|) (<= 40 (select |#length| 2)))} getNumbers_#res#1.base, getNumbers_#res#1.offset := ~#array~0.base, ~#array~0.offset; {1949#(and (= |ULTIMATE.start_getNumbers_#res#1.offset| 0) (= |ULTIMATE.start_getNumbers_#res#1.base| 2) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,257 INFO L290 TraceCheckUtils]: 34: Hoare triple {1949#(and (= |ULTIMATE.start_getNumbers_#res#1.offset| 0) (= |ULTIMATE.start_getNumbers_#res#1.base| 2) (<= 40 (select |#length| 2)))} main_#t~ret1#1.base, main_#t~ret1#1.offset := getNumbers_#res#1.base, getNumbers_#res#1.offset;assume { :end_inline_getNumbers } true;main_~numbers~0#1.base, main_~numbers~0#1.offset := main_#t~ret1#1.base, main_#t~ret1#1.offset;havoc main_#t~ret1#1.base, main_#t~ret1#1.offset;main_~i~1#1 := 0; {1953#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,257 INFO L290 TraceCheckUtils]: 35: Hoare triple {1953#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1953#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,258 INFO L290 TraceCheckUtils]: 36: Hoare triple {1953#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1953#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,258 INFO L290 TraceCheckUtils]: 37: Hoare triple {1953#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} havoc main_#t~mem4#1; {1953#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,259 INFO L290 TraceCheckUtils]: 38: Hoare triple {1953#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1966#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,259 INFO L290 TraceCheckUtils]: 39: Hoare triple {1966#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1966#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,260 INFO L290 TraceCheckUtils]: 40: Hoare triple {1966#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1966#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,260 INFO L290 TraceCheckUtils]: 41: Hoare triple {1966#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} havoc main_#t~mem4#1; {1966#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,260 INFO L290 TraceCheckUtils]: 42: Hoare triple {1966#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1979#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,261 INFO L290 TraceCheckUtils]: 43: Hoare triple {1979#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1979#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,261 INFO L290 TraceCheckUtils]: 44: Hoare triple {1979#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1979#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,261 INFO L290 TraceCheckUtils]: 45: Hoare triple {1979#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} havoc main_#t~mem4#1; {1979#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,262 INFO L290 TraceCheckUtils]: 46: Hoare triple {1979#(and (<= 2 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {1992#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,262 INFO L290 TraceCheckUtils]: 47: Hoare triple {1992#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= 40 (select |#length| 2)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {1992#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,263 INFO L290 TraceCheckUtils]: 48: Hoare triple {1992#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= 40 (select |#length| 2)))} SUMMARY for call main_#t~mem4#1 := read~int(main_~numbers~0#1.base, main_~numbers~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L20 {1992#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,263 INFO L290 TraceCheckUtils]: 49: Hoare triple {1992#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= 40 (select |#length| 2)))} havoc main_#t~mem4#1; {1992#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,264 INFO L290 TraceCheckUtils]: 50: Hoare triple {1992#(and (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~i~1#1|) (<= 40 (select |#length| 2)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {2005#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,264 INFO L290 TraceCheckUtils]: 51: Hoare triple {2005#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} assume !!(main_~i~1#1 < 10);havoc main_#t~nondet3#1; {2009#(and (< |ULTIMATE.start_main_~i~1#1| 10) (<= 4 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} is VALID [2022-02-21 00:02:56,265 INFO L290 TraceCheckUtils]: 52: Hoare triple {2009#(and (< |ULTIMATE.start_main_~i~1#1| 10) (<= 4 |ULTIMATE.start_main_~i~1#1|) (= 2 |ULTIMATE.start_main_~numbers~0#1.base|) (= |ULTIMATE.start_main_~numbers~0#1.offset| 0) (<= 40 (select |#length| 2)))} assume !(4 + (main_~numbers~0#1.offset + 4 * main_~i~1#1) <= #length[main_~numbers~0#1.base] && 0 <= main_~numbers~0#1.offset + 4 * main_~i~1#1); {1827#false} is VALID [2022-02-21 00:02:56,265 INFO L134 CoverageAnalysis]: Checked inductivity of 177 backedges. 32 proven. 0 refuted. 0 times theorem prover too weak. 145 trivial. 0 not checked. [2022-02-21 00:02:56,265 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-21 00:02:56,266 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1871122818] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 00:02:56,266 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-21 00:02:56,266 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [18] total 26 [2022-02-21 00:02:56,266 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [514056889] [2022-02-21 00:02:56,266 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 00:02:56,267 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 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 53 [2022-02-21 00:02:56,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 00:02:56,267 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:56,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 00:02:56,284 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-21 00:02:56,284 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 00:02:56,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-21 00:02:56,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=118, Invalid=638, Unknown=0, NotChecked=0, Total=756 [2022-02-21 00:02:56,284 INFO L87 Difference]: Start difference. First operand 54 states and 55 transitions. Second operand has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:56,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:56,483 INFO L93 Difference]: Finished difference Result 55 states and 56 transitions. [2022-02-21 00:02:56,483 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-21 00:02:56,483 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 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 53 [2022-02-21 00:02:56,483 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 00:02:56,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:56,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 29 transitions. [2022-02-21 00:02:56,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:56,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 29 transitions. [2022-02-21 00:02:56,484 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 29 transitions. [2022-02-21 00:02:56,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 00:02:56,513 INFO L225 Difference]: With dead ends: 55 [2022-02-21 00:02:56,513 INFO L226 Difference]: Without dead ends: 0 [2022-02-21 00:02:56,514 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 243 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=209, Invalid=981, Unknown=0, NotChecked=0, Total=1190 [2022-02-21 00:02:56,514 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 12 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 28 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 00:02:56,514 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 28 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 00:02:56,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-02-21 00:02:56,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-02-21 00:02:56,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 00:02:56,515 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:56,515 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:56,515 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:56,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:56,515 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-21 00:02:56,515 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-21 00:02:56,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:56,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:56,515 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 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 0 states. [2022-02-21 00:02:56,515 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 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 0 states. [2022-02-21 00:02:56,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 00:02:56,515 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-21 00:02:56,515 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-21 00:02:56,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:56,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 00:02:56,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 00:02:56,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 00:02:56,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:56,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-02-21 00:02:56,515 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 53 [2022-02-21 00:02:56,516 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 00:02:56,516 INFO L470 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-02-21 00:02:56,516 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 00:02:56,516 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-21 00:02:56,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 00:02:56,517 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0REQUIRES_VIOLATION (4 of 5 remaining) [2022-02-21 00:02:56,518 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr1REQUIRES_VIOLATION (3 of 5 remaining) [2022-02-21 00:02:56,518 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr2REQUIRES_VIOLATION (2 of 5 remaining) [2022-02-21 00:02:56,518 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr3REQUIRES_VIOLATION (1 of 5 remaining) [2022-02-21 00:02:56,518 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr4ASSERT_VIOLATIONMEMORY_LEAK (0 of 5 remaining) [2022-02-21 00:02:56,563 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-02-21 00:02:56,718 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 00:02:56,721 INFO L732 BasicCegarLoop]: Path program histogram: [2, 2, 1, 1, 1, 1, 1] [2022-02-21 00:02:56,722 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-21 00:02:56,724 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 21.02 12:02:56 BoogieIcfgContainer [2022-02-21 00:02:56,724 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-21 00:02:56,724 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-21 00:02:56,724 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-21 00:02:56,725 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-21 00:02:56,725 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.02 12:02:49" (3/4) ... [2022-02-21 00:02:56,727 INFO L137 WitnessPrinter]: Generating witness for correct program [2022-02-21 00:02:56,734 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 13 nodes and edges [2022-02-21 00:02:56,734 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2022-02-21 00:02:56,734 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 3 nodes and edges [2022-02-21 00:02:56,735 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2022-02-21 00:02:56,757 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-21 00:02:56,757 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-21 00:02:56,758 INFO L158 Benchmark]: Toolchain (without parser) took 8196.40ms. Allocated memory was 107.0MB in the beginning and 132.1MB in the end (delta: 25.2MB). Free memory was 72.5MB in the beginning and 103.4MB in the end (delta: -30.9MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-21 00:02:56,758 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 73.4MB. Free memory was 49.3MB in the beginning and 49.2MB in the end (delta: 25.3kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-21 00:02:56,758 INFO L158 Benchmark]: CACSL2BoogieTranslator took 219.82ms. Allocated memory is still 107.0MB. Free memory was 72.3MB in the beginning and 82.8MB in the end (delta: -10.5MB). Peak memory consumption was 9.9MB. Max. memory is 16.1GB. [2022-02-21 00:02:56,758 INFO L158 Benchmark]: Boogie Procedure Inliner took 22.84ms. Allocated memory is still 107.0MB. Free memory was 82.8MB in the beginning and 81.2MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-21 00:02:56,761 INFO L158 Benchmark]: Boogie Preprocessor took 14.74ms. Allocated memory is still 107.0MB. Free memory was 81.2MB in the beginning and 80.2MB in the end (delta: 1.1MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-21 00:02:56,762 INFO L158 Benchmark]: RCFGBuilder took 242.52ms. Allocated memory is still 107.0MB. Free memory was 80.2MB in the beginning and 68.6MB in the end (delta: 11.6MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2022-02-21 00:02:56,762 INFO L158 Benchmark]: TraceAbstraction took 7657.09ms. Allocated memory was 107.0MB in the beginning and 132.1MB in the end (delta: 25.2MB). Free memory was 68.1MB in the beginning and 105.5MB in the end (delta: -37.4MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-21 00:02:56,762 INFO L158 Benchmark]: Witness Printer took 32.84ms. Allocated memory is still 132.1MB. Free memory was 105.5MB in the beginning and 103.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-21 00:02:56,767 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 73.4MB. Free memory was 49.3MB in the beginning and 49.2MB in the end (delta: 25.3kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 219.82ms. Allocated memory is still 107.0MB. Free memory was 72.3MB in the beginning and 82.8MB in the end (delta: -10.5MB). Peak memory consumption was 9.9MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 22.84ms. Allocated memory is still 107.0MB. Free memory was 82.8MB in the beginning and 81.2MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 14.74ms. Allocated memory is still 107.0MB. Free memory was 81.2MB in the beginning and 80.2MB in the end (delta: 1.1MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 242.52ms. Allocated memory is still 107.0MB. Free memory was 80.2MB in the beginning and 68.6MB in the end (delta: 11.6MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * TraceAbstraction took 7657.09ms. Allocated memory was 107.0MB in the beginning and 132.1MB in the end (delta: 25.2MB). Free memory was 68.1MB in the beginning and 105.5MB in the end (delta: -37.4MB). There was no memory consumed. Max. memory is 16.1GB. * Witness Printer took 32.84ms. Allocated memory is still 132.1MB. Free memory was 105.5MB in the beginning and 103.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 9]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 9]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 20]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 20]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 15]: all allocated memory was freed For all program executions holds that all allocated memory was freed at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 20 locations, 5 error locations. Started 1 CEGAR loops. OverallTime: 7.6s, OverallIterations: 9, TraceHistogramMax: 10, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 2.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 435 SdHoareTripleChecker+Valid, 0.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 435 mSDsluCounter, 215 SdHoareTripleChecker+Invalid, 0.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 126 mSDsCounter, 75 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 594 IncrementalHoareTripleChecker+Invalid, 669 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 75 mSolverCounterUnsat, 89 mSDtfsCounter, 594 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 292 GetRequests, 158 SyntacticMatches, 0 SemanticMatches, 134 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 687 ImplicationChecksByTransitivity, 1.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=57occurred in iteration=7, InterpolantAutomatonStates: 74, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 9 MinimizatonAttempts, 12 StatesRemovedByMinimization, 4 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 3.5s InterpolantComputationTime, 363 NumberOfCodeBlocks, 363 NumberOfCodeBlocksAsserted, 16 NumberOfCheckSat, 413 ConstructedInterpolants, 0 QuantifiedInterpolants, 3973 SizeOfPredicates, 8 NumberOfNonLiveVariables, 582 ConjunctsInSsa, 66 ConjunctsInUnsatCore, 17 InterpolantComputations, 6 PerfectInterpolantSequences, 1001/1215 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 5 specifications checked. All of them hold RESULT: Ultimate proved your program to be correct! [2022-02-21 00:02:56,799 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 Writing output log to file Ultimate.log Result: TRUE