./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/verifythis/elimination_max.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/verifythis/elimination_max.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 0bc7b1b837bfd7794f122f6504da8d835bb2276ae4afe0cc0d058d385032d49e --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:43:20,751 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:43:20,752 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:43:20,773 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:43:20,775 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:43:20,778 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:43:20,779 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:43:20,781 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:43:20,783 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:43:20,783 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:43:20,784 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:43:20,785 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:43:20,785 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:43:20,786 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:43:20,786 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:43:20,787 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:43:20,788 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:43:20,789 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:43:20,790 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:43:20,791 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:43:20,793 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:43:20,798 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:43:20,799 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:43:20,800 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:43:20,804 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:43:20,806 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:43:20,807 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:43:20,807 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:43:20,808 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:43:20,808 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:43:20,808 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:43:20,809 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:43:20,809 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:43:20,810 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:43:20,810 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:43:20,810 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:43:20,811 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:43:20,811 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:43:20,811 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:43:20,812 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:43:20,812 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:43:20,813 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-20 23:43:20,826 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:43:20,830 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:43:20,830 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:43:20,831 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:43:20,831 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:43:20,832 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:43:20,832 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:43:20,832 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:43:20,832 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:43:20,833 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:43:20,833 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:43:20,833 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:43:20,834 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:43:20,834 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:43:20,834 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:43:20,834 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:43:20,834 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:43:20,834 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:43:20,835 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:43:20,835 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:43:20,835 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:43:20,835 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:43:20,835 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:43:20,835 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:43:20,835 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:43:20,836 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:43:20,836 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:43:20,837 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:43:20,837 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:43:20,837 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:43:20,837 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 -> 0bc7b1b837bfd7794f122f6504da8d835bb2276ae4afe0cc0d058d385032d49e [2022-02-20 23:43:21,067 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:43:21,086 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:43:21,089 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:43:21,090 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:43:21,091 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:43:21,092 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/verifythis/elimination_max.c [2022-02-20 23:43:21,144 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b387b3d4b/ea6f388d77b84e91a4c3a8266be5e6a7/FLAG98f0f7700 [2022-02-20 23:43:21,535 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:43:21,535 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/elimination_max.c [2022-02-20 23:43:21,543 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b387b3d4b/ea6f388d77b84e91a4c3a8266be5e6a7/FLAG98f0f7700 [2022-02-20 23:43:21,556 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b387b3d4b/ea6f388d77b84e91a4c3a8266be5e6a7 [2022-02-20 23:43:21,559 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:43:21,561 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:43:21,562 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:43:21,562 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:43:21,564 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:43:21,567 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,568 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@22369733 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21, skipping insertion in model container [2022-02-20 23:43:21,568 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,573 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:43:21,583 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:43:21,734 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/elimination_max.c[485,498] [2022-02-20 23:43:21,764 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:43:21,773 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:43:21,785 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/verifythis/elimination_max.c[485,498] [2022-02-20 23:43:21,794 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:43:21,807 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:43:21,807 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21 WrapperNode [2022-02-20 23:43:21,808 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:43:21,809 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:43:21,810 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:43:21,810 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:43:21,814 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,826 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,853 INFO L137 Inliner]: procedures = 18, calls = 20, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 66 [2022-02-20 23:43:21,853 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:43:21,854 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:43:21,854 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:43:21,855 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:43:21,860 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,860 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,864 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,864 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,876 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,879 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,886 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,896 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:43:21,898 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:43:21,898 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:43:21,898 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:43:21,899 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (1/1) ... [2022-02-20 23:43:21,904 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:43:21,911 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:43:21,921 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 23:43:21,935 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 23:43:21,967 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:43:21,968 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 23:43:21,968 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 23:43:21,968 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 23:43:21,968 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:43:21,968 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:43:21,969 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:43:21,969 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:43:21,969 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 23:43:21,969 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 23:43:21,969 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:43:22,014 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:43:22,015 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:43:22,340 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:43:22,345 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:43:22,345 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 23:43:22,346 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:43:22 BoogieIcfgContainer [2022-02-20 23:43:22,347 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:43:22,348 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:43:22,351 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:43:22,354 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:43:22,354 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:43:21" (1/3) ... [2022-02-20 23:43:22,355 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@651ae457 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:43:22, skipping insertion in model container [2022-02-20 23:43:22,355 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:43:21" (2/3) ... [2022-02-20 23:43:22,356 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@651ae457 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:43:22, skipping insertion in model container [2022-02-20 23:43:22,356 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:43:22" (3/3) ... [2022-02-20 23:43:22,357 INFO L111 eAbstractionObserver]: Analyzing ICFG elimination_max.c [2022-02-20 23:43:22,360 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:43:22,360 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 17 error locations. [2022-02-20 23:43:22,399 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:43:22,405 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 23:43:22,406 INFO L340 AbstractCegarLoop]: Starting to check reachability of 17 error locations. [2022-02-20 23:43:22,426 INFO L276 IsEmpty]: Start isEmpty. Operand has 53 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 46 states have internal predecessors, (53), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:22,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:43:22,431 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:22,432 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:22,433 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:22,437 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:22,437 INFO L85 PathProgramCache]: Analyzing trace with hash 1391371914, now seen corresponding path program 1 times [2022-02-20 23:43:22,443 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:22,444 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2090796782] [2022-02-20 23:43:22,444 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:22,445 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:22,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:22,560 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:22,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:22,580 INFO L290 TraceCheckUtils]: 0: Hoare triple {56#true} ~cond := #in~cond; {56#true} is VALID [2022-02-20 23:43:22,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {56#true} assume 0 == ~cond;assume false; {57#false} is VALID [2022-02-20 23:43:22,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {57#false} assume true; {57#false} is VALID [2022-02-20 23:43:22,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57#false} {56#true} #91#return; {57#false} is VALID [2022-02-20 23:43:22,584 INFO L290 TraceCheckUtils]: 0: Hoare triple {56#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {56#true} is VALID [2022-02-20 23:43:22,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {56#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {56#true} is VALID [2022-02-20 23:43:22,585 INFO L272 TraceCheckUtils]: 2: Hoare triple {56#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {56#true} is VALID [2022-02-20 23:43:22,585 INFO L290 TraceCheckUtils]: 3: Hoare triple {56#true} ~cond := #in~cond; {56#true} is VALID [2022-02-20 23:43:22,585 INFO L290 TraceCheckUtils]: 4: Hoare triple {56#true} assume 0 == ~cond;assume false; {57#false} is VALID [2022-02-20 23:43:22,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {57#false} assume true; {57#false} is VALID [2022-02-20 23:43:22,586 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {57#false} {56#true} #91#return; {57#false} is VALID [2022-02-20 23:43:22,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {57#false} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {57#false} is VALID [2022-02-20 23:43:22,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {57#false} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {57#false} is VALID [2022-02-20 23:43:22,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {57#false} assume !!(main_~x~0#1 < main_~y~0#1); {57#false} is VALID [2022-02-20 23:43:22,587 INFO L290 TraceCheckUtils]: 10: Hoare triple {57#false} assume !(1 == #valid[main_~a~0#1.base]); {57#false} is VALID [2022-02-20 23:43:22,587 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:22,588 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:22,588 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2090796782] [2022-02-20 23:43:22,589 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2090796782] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:22,589 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:22,589 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:43:22,590 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [419482113] [2022-02-20 23:43:22,591 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:22,594 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 23:43:22,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:22,597 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:22,615 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:22,615 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 23:43:22,616 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:22,647 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 23:43:22,647 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 23:43:22,650 INFO L87 Difference]: Start difference. First operand has 53 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 46 states have internal predecessors, (53), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:22,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:22,703 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-02-20 23:43:22,703 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 23:43:22,704 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 23:43:22,704 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:22,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:22,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 61 transitions. [2022-02-20 23:43:22,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:22,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 61 transitions. [2022-02-20 23:43:22,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 61 transitions. [2022-02-20 23:43:22,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:22,788 INFO L225 Difference]: With dead ends: 53 [2022-02-20 23:43:22,788 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 23:43:22,790 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 23:43:22,794 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:22,795 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:43:22,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 23:43:22,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2022-02-20 23:43:22,818 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:22,819 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 51 states, 28 states have (on average 1.6785714285714286) internal successors, (47), 44 states have internal predecessors, (47), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:22,820 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 51 states, 28 states have (on average 1.6785714285714286) internal successors, (47), 44 states have internal predecessors, (47), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:22,822 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 51 states, 28 states have (on average 1.6785714285714286) internal successors, (47), 44 states have internal predecessors, (47), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:22,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:22,827 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2022-02-20 23:43:22,827 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-02-20 23:43:22,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:22,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:22,830 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 28 states have (on average 1.6785714285714286) internal successors, (47), 44 states have internal predecessors, (47), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 51 states. [2022-02-20 23:43:22,831 INFO L87 Difference]: Start difference. First operand has 51 states, 28 states have (on average 1.6785714285714286) internal successors, (47), 44 states have internal predecessors, (47), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 51 states. [2022-02-20 23:43:22,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:22,836 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2022-02-20 23:43:22,836 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-02-20 23:43:22,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:22,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:22,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:22,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:22,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 28 states have (on average 1.6785714285714286) internal successors, (47), 44 states have internal predecessors, (47), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:22,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2022-02-20 23:43:22,842 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 11 [2022-02-20 23:43:22,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:22,843 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2022-02-20 23:43:22,843 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:22,845 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-02-20 23:43:22,846 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:43:22,846 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:22,846 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:22,847 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:43:22,847 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:22,850 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:22,850 INFO L85 PathProgramCache]: Analyzing trace with hash -1128588020, now seen corresponding path program 1 times [2022-02-20 23:43:22,850 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:22,850 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [459174002] [2022-02-20 23:43:22,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:22,851 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:22,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:22,902 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:22,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:22,912 INFO L290 TraceCheckUtils]: 0: Hoare triple {270#true} ~cond := #in~cond; {270#true} is VALID [2022-02-20 23:43:22,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {270#true} assume !(0 == ~cond); {270#true} is VALID [2022-02-20 23:43:22,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {270#true} assume true; {270#true} is VALID [2022-02-20 23:43:22,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {270#true} {270#true} #91#return; {270#true} is VALID [2022-02-20 23:43:22,913 INFO L290 TraceCheckUtils]: 0: Hoare triple {270#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {270#true} is VALID [2022-02-20 23:43:22,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {270#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {270#true} is VALID [2022-02-20 23:43:22,913 INFO L272 TraceCheckUtils]: 2: Hoare triple {270#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {270#true} is VALID [2022-02-20 23:43:22,913 INFO L290 TraceCheckUtils]: 3: Hoare triple {270#true} ~cond := #in~cond; {270#true} is VALID [2022-02-20 23:43:22,913 INFO L290 TraceCheckUtils]: 4: Hoare triple {270#true} assume !(0 == ~cond); {270#true} is VALID [2022-02-20 23:43:22,913 INFO L290 TraceCheckUtils]: 5: Hoare triple {270#true} assume true; {270#true} is VALID [2022-02-20 23:43:22,913 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {270#true} {270#true} #91#return; {270#true} is VALID [2022-02-20 23:43:22,915 INFO L290 TraceCheckUtils]: 7: Hoare triple {270#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {276#(= (select |#valid| |ULTIMATE.start_main_#t~malloc6#1.base|) 1)} is VALID [2022-02-20 23:43:22,915 INFO L290 TraceCheckUtils]: 8: Hoare triple {276#(= (select |#valid| |ULTIMATE.start_main_#t~malloc6#1.base|) 1)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {277#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:43:22,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} assume !!(main_~x~0#1 < main_~y~0#1); {277#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:43:22,916 INFO L290 TraceCheckUtils]: 10: Hoare triple {277#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} assume !(1 == #valid[main_~a~0#1.base]); {271#false} is VALID [2022-02-20 23:43:22,916 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:22,916 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:22,916 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [459174002] [2022-02-20 23:43:22,917 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [459174002] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:22,917 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:22,917 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:43:22,917 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [859164110] [2022-02-20 23:43:22,917 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:22,918 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 23:43:22,918 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:22,918 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:22,929 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:22,929 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:43:22,929 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:22,929 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:43:22,929 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:43:22,930 INFO L87 Difference]: Start difference. First operand 51 states and 55 transitions. Second operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:23,036 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2022-02-20 23:43:23,036 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:43:23,037 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 23:43:23,037 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:23,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-02-20 23:43:23,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-02-20 23:43:23,040 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 55 transitions. [2022-02-20 23:43:23,078 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:23,079 INFO L225 Difference]: With dead ends: 44 [2022-02-20 23:43:23,079 INFO L226 Difference]: Without dead ends: 44 [2022-02-20 23:43:23,079 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:43:23,080 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 52 mSDsluCounter, 20 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 52 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:23,081 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 52 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:43:23,082 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-02-20 23:43:23,084 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2022-02-20 23:43:23,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:23,084 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 44 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 37 states have internal predecessors, (40), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:23,084 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 44 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 37 states have internal predecessors, (40), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:23,085 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 44 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 37 states have internal predecessors, (40), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:23,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:23,086 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2022-02-20 23:43:23,087 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2022-02-20 23:43:23,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:23,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:23,087 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 37 states have internal predecessors, (40), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 44 states. [2022-02-20 23:43:23,088 INFO L87 Difference]: Start difference. First operand has 44 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 37 states have internal predecessors, (40), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 44 states. [2022-02-20 23:43:23,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:23,090 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2022-02-20 23:43:23,090 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2022-02-20 23:43:23,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:23,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:23,091 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:23,091 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:23,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 37 states have internal predecessors, (40), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:23,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 48 transitions. [2022-02-20 23:43:23,092 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 48 transitions. Word has length 11 [2022-02-20 23:43:23,093 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:23,093 INFO L470 AbstractCegarLoop]: Abstraction has 44 states and 48 transitions. [2022-02-20 23:43:23,093 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,093 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2022-02-20 23:43:23,093 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:43:23,093 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:23,094 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:23,094 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:43:23,094 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:23,094 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:23,094 INFO L85 PathProgramCache]: Analyzing trace with hash -1128588019, now seen corresponding path program 1 times [2022-02-20 23:43:23,094 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:23,095 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [433761849] [2022-02-20 23:43:23,095 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:23,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:23,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:23,204 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:23,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:23,209 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-02-20 23:43:23,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-02-20 23:43:23,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-02-20 23:43:23,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {458#true} #91#return; {458#true} is VALID [2022-02-20 23:43:23,210 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {458#true} is VALID [2022-02-20 23:43:23,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {458#true} is VALID [2022-02-20 23:43:23,210 INFO L272 TraceCheckUtils]: 2: Hoare triple {458#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {458#true} is VALID [2022-02-20 23:43:23,211 INFO L290 TraceCheckUtils]: 3: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-02-20 23:43:23,211 INFO L290 TraceCheckUtils]: 4: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-02-20 23:43:23,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {458#true} assume true; {458#true} is VALID [2022-02-20 23:43:23,211 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {458#true} {458#true} #91#return; {458#true} is VALID [2022-02-20 23:43:23,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {458#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {464#(and (= |ULTIMATE.start_main_#t~malloc6#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_#t~malloc6#1.base|)))} is VALID [2022-02-20 23:43:23,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {464#(and (= |ULTIMATE.start_main_#t~malloc6#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_#t~malloc6#1.base|)))} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {465#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0) (<= (+ (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:23,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {465#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0) (<= (+ (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~x~0#1 < main_~y~0#1); {466#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~x~0#1| 4) 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:23,214 INFO L290 TraceCheckUtils]: 10: Hoare triple {466#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~x~0#1| 4) 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !(4 + (main_~a~0#1.offset + 4 * main_~x~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~x~0#1); {459#false} is VALID [2022-02-20 23:43:23,214 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:23,215 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:23,215 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [433761849] [2022-02-20 23:43:23,215 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [433761849] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:23,215 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:23,215 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:43:23,215 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [12473473] [2022-02-20 23:43:23,216 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:23,216 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 23:43:23,216 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:23,216 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,225 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:23,225 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:43:23,225 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:23,225 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:43:23,226 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:43:23,226 INFO L87 Difference]: Start difference. First operand 44 states and 48 transitions. Second operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:23,615 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2022-02-20 23:43:23,615 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:43:23,616 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 23:43:23,616 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:23,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 110 transitions. [2022-02-20 23:43:23,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 110 transitions. [2022-02-20 23:43:23,633 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 110 transitions. [2022-02-20 23:43:23,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:23,737 INFO L225 Difference]: With dead ends: 92 [2022-02-20 23:43:23,737 INFO L226 Difference]: Without dead ends: 92 [2022-02-20 23:43:23,738 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:43:23,739 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 98 mSDsluCounter, 43 mSDsCounter, 0 mSdLazyCounter, 118 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 118 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:23,739 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [101 Valid, 82 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 118 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:43:23,740 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-02-20 23:43:23,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 74. [2022-02-20 23:43:23,743 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:23,743 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 74 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 61 states have internal predecessors, (76), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:43:23,744 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 74 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 61 states have internal predecessors, (76), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:43:23,744 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 74 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 61 states have internal predecessors, (76), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:43:23,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:23,747 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2022-02-20 23:43:23,747 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 105 transitions. [2022-02-20 23:43:23,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:23,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:23,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 61 states have internal predecessors, (76), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 92 states. [2022-02-20 23:43:23,749 INFO L87 Difference]: Start difference. First operand has 74 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 61 states have internal predecessors, (76), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 92 states. [2022-02-20 23:43:23,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:23,753 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2022-02-20 23:43:23,754 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 105 transitions. [2022-02-20 23:43:23,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:23,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:23,756 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:23,757 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:23,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 61 states have internal predecessors, (76), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:43:23,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 96 transitions. [2022-02-20 23:43:23,762 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 96 transitions. Word has length 11 [2022-02-20 23:43:23,762 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:23,763 INFO L470 AbstractCegarLoop]: Abstraction has 74 states and 96 transitions. [2022-02-20 23:43:23,763 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,763 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 96 transitions. [2022-02-20 23:43:23,763 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 23:43:23,763 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:23,764 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:23,764 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:43:23,764 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:23,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:23,765 INFO L85 PathProgramCache]: Analyzing trace with hash -626490262, now seen corresponding path program 1 times [2022-02-20 23:43:23,765 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:23,765 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1364801192] [2022-02-20 23:43:23,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:23,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:23,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:23,890 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:23,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:23,899 INFO L290 TraceCheckUtils]: 0: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-02-20 23:43:23,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-02-20 23:43:23,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {823#true} assume true; {823#true} is VALID [2022-02-20 23:43:23,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {823#true} {823#true} #91#return; {823#true} is VALID [2022-02-20 23:43:23,902 INFO L290 TraceCheckUtils]: 0: Hoare triple {823#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {823#true} is VALID [2022-02-20 23:43:23,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {823#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {823#true} is VALID [2022-02-20 23:43:23,902 INFO L272 TraceCheckUtils]: 2: Hoare triple {823#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {823#true} is VALID [2022-02-20 23:43:23,902 INFO L290 TraceCheckUtils]: 3: Hoare triple {823#true} ~cond := #in~cond; {823#true} is VALID [2022-02-20 23:43:23,903 INFO L290 TraceCheckUtils]: 4: Hoare triple {823#true} assume !(0 == ~cond); {823#true} is VALID [2022-02-20 23:43:23,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {823#true} assume true; {823#true} is VALID [2022-02-20 23:43:23,904 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {823#true} {823#true} #91#return; {823#true} is VALID [2022-02-20 23:43:23,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {823#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {829#(and (= |ULTIMATE.start_main_#t~malloc6#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_#t~malloc6#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4)))} is VALID [2022-02-20 23:43:23,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {829#(and (= |ULTIMATE.start_main_#t~malloc6#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_#t~malloc6#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4)))} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {830#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0) (<= (+ (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:23,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {830#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0) (<= (+ (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~x~0#1 < main_~y~0#1); {831#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0) (<= (+ (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:23,907 INFO L290 TraceCheckUtils]: 10: Hoare triple {831#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0) (<= (+ (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= (+ (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:23,908 INFO L290 TraceCheckUtils]: 11: Hoare triple {832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= (+ (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + (main_~a~0#1.offset + 4 * main_~y~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~y~0#1); {824#false} is VALID [2022-02-20 23:43:23,908 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:23,908 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:23,909 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1364801192] [2022-02-20 23:43:23,909 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1364801192] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:23,909 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:23,909 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:43:23,909 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [816724206] [2022-02-20 23:43:23,910 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:23,910 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.0) internal successors, (10), 6 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-02-20 23:43:23,911 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:23,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.0) internal successors, (10), 6 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:23,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:23,921 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:43:23,921 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:23,922 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:43:23,923 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:43:23,924 INFO L87 Difference]: Start difference. First operand 74 states and 96 transitions. Second operand has 6 states, 5 states have (on average 2.0) internal successors, (10), 6 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:24,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:24,362 INFO L93 Difference]: Finished difference Result 110 states and 131 transitions. [2022-02-20 23:43:24,362 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:43:24,362 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.0) internal successors, (10), 6 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-02-20 23:43:24,363 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:24,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.0) internal successors, (10), 6 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:24,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 114 transitions. [2022-02-20 23:43:24,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.0) internal successors, (10), 6 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:24,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 114 transitions. [2022-02-20 23:43:24,367 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 114 transitions. [2022-02-20 23:43:24,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:24,472 INFO L225 Difference]: With dead ends: 110 [2022-02-20 23:43:24,472 INFO L226 Difference]: Without dead ends: 110 [2022-02-20 23:43:24,473 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:43:24,473 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 112 mSDsluCounter, 43 mSDsCounter, 0 mSdLazyCounter, 137 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 115 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 156 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 137 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:24,474 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [115 Valid, 82 Invalid, 156 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 137 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:43:24,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-02-20 23:43:24,478 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 78. [2022-02-20 23:43:24,478 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:24,478 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 78 states, 56 states have (on average 1.4642857142857142) internal successors, (82), 65 states have internal predecessors, (82), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:43:24,479 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 78 states, 56 states have (on average 1.4642857142857142) internal successors, (82), 65 states have internal predecessors, (82), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:43:24,479 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 78 states, 56 states have (on average 1.4642857142857142) internal successors, (82), 65 states have internal predecessors, (82), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:43:24,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:24,482 INFO L93 Difference]: Finished difference Result 110 states and 131 transitions. [2022-02-20 23:43:24,482 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 131 transitions. [2022-02-20 23:43:24,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:24,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:24,483 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 56 states have (on average 1.4642857142857142) internal successors, (82), 65 states have internal predecessors, (82), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 110 states. [2022-02-20 23:43:24,486 INFO L87 Difference]: Start difference. First operand has 78 states, 56 states have (on average 1.4642857142857142) internal successors, (82), 65 states have internal predecessors, (82), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 110 states. [2022-02-20 23:43:24,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:24,490 INFO L93 Difference]: Finished difference Result 110 states and 131 transitions. [2022-02-20 23:43:24,490 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 131 transitions. [2022-02-20 23:43:24,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:24,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:24,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:24,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:24,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 56 states have (on average 1.4642857142857142) internal successors, (82), 65 states have internal predecessors, (82), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:43:24,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 102 transitions. [2022-02-20 23:43:24,496 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 102 transitions. Word has length 12 [2022-02-20 23:43:24,498 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:24,498 INFO L470 AbstractCegarLoop]: Abstraction has 78 states and 102 transitions. [2022-02-20 23:43:24,498 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.0) internal successors, (10), 6 states have internal predecessors, (10), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:24,498 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 102 transitions. [2022-02-20 23:43:24,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 23:43:24,499 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:24,499 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:24,499 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:43:24,499 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:24,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:24,500 INFO L85 PathProgramCache]: Analyzing trace with hash -2138530157, now seen corresponding path program 1 times [2022-02-20 23:43:24,500 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:24,501 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [573548337] [2022-02-20 23:43:24,501 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:24,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:24,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:24,603 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:24,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:24,607 INFO L290 TraceCheckUtils]: 0: Hoare triple {1249#true} ~cond := #in~cond; {1249#true} is VALID [2022-02-20 23:43:24,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {1249#true} assume !(0 == ~cond); {1249#true} is VALID [2022-02-20 23:43:24,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {1249#true} assume true; {1249#true} is VALID [2022-02-20 23:43:24,612 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1249#true} {1249#true} #91#return; {1249#true} is VALID [2022-02-20 23:43:24,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {1249#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1249#true} is VALID [2022-02-20 23:43:24,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {1249#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1249#true} is VALID [2022-02-20 23:43:24,612 INFO L272 TraceCheckUtils]: 2: Hoare triple {1249#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {1249#true} is VALID [2022-02-20 23:43:24,612 INFO L290 TraceCheckUtils]: 3: Hoare triple {1249#true} ~cond := #in~cond; {1249#true} is VALID [2022-02-20 23:43:24,612 INFO L290 TraceCheckUtils]: 4: Hoare triple {1249#true} assume !(0 == ~cond); {1249#true} is VALID [2022-02-20 23:43:24,613 INFO L290 TraceCheckUtils]: 5: Hoare triple {1249#true} assume true; {1249#true} is VALID [2022-02-20 23:43:24,613 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1249#true} {1249#true} #91#return; {1249#true} is VALID [2022-02-20 23:43:24,613 INFO L290 TraceCheckUtils]: 7: Hoare triple {1249#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {1255#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} is VALID [2022-02-20 23:43:24,613 INFO L290 TraceCheckUtils]: 8: Hoare triple {1255#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {1256#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:24,614 INFO L290 TraceCheckUtils]: 9: Hoare triple {1256#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !!(main_~x~0#1 < main_~y~0#1); {1256#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:24,614 INFO L290 TraceCheckUtils]: 10: Hoare triple {1256#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {1256#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:24,615 INFO L290 TraceCheckUtils]: 11: Hoare triple {1256#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {1257#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:24,616 INFO L290 TraceCheckUtils]: 12: Hoare triple {1257#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {1258#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:24,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {1258#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !!(main_~x~0#1 < main_~y~0#1); {1259#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:24,617 INFO L290 TraceCheckUtils]: 14: Hoare triple {1259#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !(4 + (main_~a~0#1.offset + 4 * main_~x~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~x~0#1); {1250#false} is VALID [2022-02-20 23:43:24,617 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:24,617 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:24,617 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [573548337] [2022-02-20 23:43:24,617 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [573548337] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:43:24,618 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [515916438] [2022-02-20 23:43:24,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:24,618 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:24,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:43:24,620 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:43:24,620 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 23:43:24,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:24,659 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:43:24,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:24,698 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:43:24,924 INFO L290 TraceCheckUtils]: 0: Hoare triple {1249#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1249#true} is VALID [2022-02-20 23:43:24,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {1249#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1249#true} is VALID [2022-02-20 23:43:24,925 INFO L272 TraceCheckUtils]: 2: Hoare triple {1249#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {1249#true} is VALID [2022-02-20 23:43:24,925 INFO L290 TraceCheckUtils]: 3: Hoare triple {1249#true} ~cond := #in~cond; {1249#true} is VALID [2022-02-20 23:43:24,925 INFO L290 TraceCheckUtils]: 4: Hoare triple {1249#true} assume !(0 == ~cond); {1249#true} is VALID [2022-02-20 23:43:24,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {1249#true} assume true; {1249#true} is VALID [2022-02-20 23:43:24,925 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1249#true} {1249#true} #91#return; {1249#true} is VALID [2022-02-20 23:43:24,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {1249#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {1284#(<= 0 |ULTIMATE.start_main_#t~malloc6#1.offset|)} is VALID [2022-02-20 23:43:24,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {1284#(<= 0 |ULTIMATE.start_main_#t~malloc6#1.offset|)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {1288#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:24,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {1288#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} assume !!(main_~x~0#1 < main_~y~0#1); {1288#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:24,927 INFO L290 TraceCheckUtils]: 10: Hoare triple {1288#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {1288#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:24,927 INFO L290 TraceCheckUtils]: 11: Hoare triple {1288#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {1298#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:24,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {1298#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {1302#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:24,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {1302#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !!(main_~x~0#1 < main_~y~0#1); {1306#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:24,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {1306#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !(4 + (main_~a~0#1.offset + 4 * main_~x~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~x~0#1); {1250#false} is VALID [2022-02-20 23:43:24,945 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:24,945 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:43:24,945 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [515916438] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:24,946 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:43:24,946 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 11 [2022-02-20 23:43:24,946 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1062411814] [2022-02-20 23:43:24,946 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:24,946 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-02-20 23:43:24,947 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:24,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:24,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:24,958 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:43:24,959 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:24,959 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:43:24,959 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:43:24,959 INFO L87 Difference]: Start difference. First operand 78 states and 102 transitions. Second operand has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:25,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:25,404 INFO L93 Difference]: Finished difference Result 131 states and 158 transitions. [2022-02-20 23:43:25,405 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:43:25,405 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-02-20 23:43:25,405 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:25,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:25,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 134 transitions. [2022-02-20 23:43:25,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:25,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 134 transitions. [2022-02-20 23:43:25,409 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 134 transitions. [2022-02-20 23:43:25,540 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:25,542 INFO L225 Difference]: With dead ends: 131 [2022-02-20 23:43:25,542 INFO L226 Difference]: Without dead ends: 131 [2022-02-20 23:43:25,543 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=177, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:43:25,543 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 174 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 118 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 174 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 118 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:25,543 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [174 Valid, 112 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 118 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:43:25,544 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-02-20 23:43:25,547 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 90. [2022-02-20 23:43:25,547 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:25,547 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 90 states, 66 states have (on average 1.4242424242424243) internal successors, (94), 74 states have internal predecessors, (94), 13 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 23:43:25,548 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 90 states, 66 states have (on average 1.4242424242424243) internal successors, (94), 74 states have internal predecessors, (94), 13 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 23:43:25,548 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 90 states, 66 states have (on average 1.4242424242424243) internal successors, (94), 74 states have internal predecessors, (94), 13 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 23:43:25,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:25,551 INFO L93 Difference]: Finished difference Result 131 states and 158 transitions. [2022-02-20 23:43:25,551 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 158 transitions. [2022-02-20 23:43:25,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:25,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:25,551 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 66 states have (on average 1.4242424242424243) internal successors, (94), 74 states have internal predecessors, (94), 13 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 131 states. [2022-02-20 23:43:25,552 INFO L87 Difference]: Start difference. First operand has 90 states, 66 states have (on average 1.4242424242424243) internal successors, (94), 74 states have internal predecessors, (94), 13 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 131 states. [2022-02-20 23:43:25,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:25,556 INFO L93 Difference]: Finished difference Result 131 states and 158 transitions. [2022-02-20 23:43:25,556 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 158 transitions. [2022-02-20 23:43:25,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:25,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:25,557 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:25,557 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:25,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 66 states have (on average 1.4242424242424243) internal successors, (94), 74 states have internal predecessors, (94), 13 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 23:43:25,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 120 transitions. [2022-02-20 23:43:25,559 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 120 transitions. Word has length 15 [2022-02-20 23:43:25,559 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:25,559 INFO L470 AbstractCegarLoop]: Abstraction has 90 states and 120 transitions. [2022-02-20 23:43:25,560 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:25,560 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 120 transitions. [2022-02-20 23:43:25,560 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:43:25,560 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:25,560 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:25,579 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:43:25,775 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:25,775 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:25,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:25,776 INFO L85 PathProgramCache]: Analyzing trace with hash 1240052176, now seen corresponding path program 1 times [2022-02-20 23:43:25,776 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:25,776 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [816894650] [2022-02-20 23:43:25,776 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:25,776 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:25,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:25,870 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:25,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:25,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {1800#true} ~cond := #in~cond; {1800#true} is VALID [2022-02-20 23:43:25,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {1800#true} assume !(0 == ~cond); {1800#true} is VALID [2022-02-20 23:43:25,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {1800#true} assume true; {1800#true} is VALID [2022-02-20 23:43:25,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1800#true} {1800#true} #91#return; {1800#true} is VALID [2022-02-20 23:43:25,874 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 23:43:25,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:25,901 INFO L290 TraceCheckUtils]: 0: Hoare triple {1800#true} ~cond := #in~cond; {1813#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 23:43:25,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {1813#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1814#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 23:43:25,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {1814#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1814#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 23:43:25,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1814#(not (= |assume_abort_if_not_#in~cond| 0))} {1807#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #93#return; {1812#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= (+ (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:25,903 INFO L290 TraceCheckUtils]: 0: Hoare triple {1800#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {1800#true} is VALID [2022-02-20 23:43:25,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {1800#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1800#true} is VALID [2022-02-20 23:43:25,904 INFO L272 TraceCheckUtils]: 2: Hoare triple {1800#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {1800#true} is VALID [2022-02-20 23:43:25,904 INFO L290 TraceCheckUtils]: 3: Hoare triple {1800#true} ~cond := #in~cond; {1800#true} is VALID [2022-02-20 23:43:25,904 INFO L290 TraceCheckUtils]: 4: Hoare triple {1800#true} assume !(0 == ~cond); {1800#true} is VALID [2022-02-20 23:43:25,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {1800#true} assume true; {1800#true} is VALID [2022-02-20 23:43:25,904 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1800#true} {1800#true} #91#return; {1800#true} is VALID [2022-02-20 23:43:25,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {1800#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {1806#(and (= |ULTIMATE.start_main_#t~malloc6#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_#t~malloc6#1.base|)))} is VALID [2022-02-20 23:43:25,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {1806#(and (= |ULTIMATE.start_main_#t~malloc6#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_#t~malloc6#1.base|)))} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {1807#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:25,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {1807#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(main_~x~0#1 < main_~y~0#1); {1807#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:25,907 INFO L290 TraceCheckUtils]: 10: Hoare triple {1807#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {1807#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:25,907 INFO L272 TraceCheckUtils]: 11: Hoare triple {1807#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {1800#true} is VALID [2022-02-20 23:43:25,907 INFO L290 TraceCheckUtils]: 12: Hoare triple {1800#true} ~cond := #in~cond; {1813#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 23:43:25,908 INFO L290 TraceCheckUtils]: 13: Hoare triple {1813#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1814#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 23:43:25,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {1814#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1814#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 23:43:25,909 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1814#(not (= |assume_abort_if_not_#in~cond| 0))} {1807#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~n~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #93#return; {1812#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= (+ (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:25,909 INFO L290 TraceCheckUtils]: 16: Hoare triple {1812#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= (+ (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {1801#false} is VALID [2022-02-20 23:43:25,909 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:43:25,910 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:25,910 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [816894650] [2022-02-20 23:43:25,910 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [816894650] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:25,910 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:25,910 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:43:25,910 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [103165261] [2022-02-20 23:43:25,910 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:25,911 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-02-20 23:43:25,911 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:25,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:25,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:25,922 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:43:25,922 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:25,922 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:43:25,922 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:43:25,922 INFO L87 Difference]: Start difference. First operand 90 states and 120 transitions. Second operand has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:26,217 INFO L93 Difference]: Finished difference Result 103 states and 133 transitions. [2022-02-20 23:43:26,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:43:26,218 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-02-20 23:43:26,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:26,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2022-02-20 23:43:26,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2022-02-20 23:43:26,220 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 57 transitions. [2022-02-20 23:43:26,266 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:26,267 INFO L225 Difference]: With dead ends: 103 [2022-02-20 23:43:26,268 INFO L226 Difference]: Without dead ends: 103 [2022-02-20 23:43:26,268 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:43:26,268 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 79 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 102 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 79 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 117 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 102 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:26,269 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [79 Valid, 93 Invalid, 117 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 102 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:43:26,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-02-20 23:43:26,272 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 67. [2022-02-20 23:43:26,272 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:26,272 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 67 states, 51 states have (on average 1.3725490196078431) internal successors, (70), 57 states have internal predecessors, (70), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:26,272 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 67 states, 51 states have (on average 1.3725490196078431) internal successors, (70), 57 states have internal predecessors, (70), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:26,273 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 67 states, 51 states have (on average 1.3725490196078431) internal successors, (70), 57 states have internal predecessors, (70), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:26,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:26,275 INFO L93 Difference]: Finished difference Result 103 states and 133 transitions. [2022-02-20 23:43:26,275 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 133 transitions. [2022-02-20 23:43:26,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:26,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:26,276 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 51 states have (on average 1.3725490196078431) internal successors, (70), 57 states have internal predecessors, (70), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 103 states. [2022-02-20 23:43:26,276 INFO L87 Difference]: Start difference. First operand has 67 states, 51 states have (on average 1.3725490196078431) internal successors, (70), 57 states have internal predecessors, (70), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 103 states. [2022-02-20 23:43:26,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:26,278 INFO L93 Difference]: Finished difference Result 103 states and 133 transitions. [2022-02-20 23:43:26,278 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 133 transitions. [2022-02-20 23:43:26,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:26,279 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:26,279 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:26,279 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:26,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 51 states have (on average 1.3725490196078431) internal successors, (70), 57 states have internal predecessors, (70), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:26,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 84 transitions. [2022-02-20 23:43:26,280 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 84 transitions. Word has length 17 [2022-02-20 23:43:26,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:26,280 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 84 transitions. [2022-02-20 23:43:26,281 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,281 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 84 transitions. [2022-02-20 23:43:26,281 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 23:43:26,281 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:26,281 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:26,281 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 23:43:26,281 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:26,281 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:26,281 INFO L85 PathProgramCache]: Analyzing trace with hash -213088232, now seen corresponding path program 1 times [2022-02-20 23:43:26,282 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:26,282 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [414872462] [2022-02-20 23:43:26,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:26,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:26,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:26,332 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:26,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:26,338 INFO L290 TraceCheckUtils]: 0: Hoare triple {2199#true} ~cond := #in~cond; {2199#true} is VALID [2022-02-20 23:43:26,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {2199#true} assume !(0 == ~cond); {2199#true} is VALID [2022-02-20 23:43:26,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {2199#true} assume true; {2199#true} is VALID [2022-02-20 23:43:26,338 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2199#true} {2199#true} #91#return; {2199#true} is VALID [2022-02-20 23:43:26,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 23:43:26,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:26,359 INFO L290 TraceCheckUtils]: 0: Hoare triple {2199#true} ~cond := #in~cond; {2199#true} is VALID [2022-02-20 23:43:26,359 INFO L290 TraceCheckUtils]: 1: Hoare triple {2199#true} assume !(0 == ~cond); {2199#true} is VALID [2022-02-20 23:43:26,359 INFO L290 TraceCheckUtils]: 2: Hoare triple {2199#true} assume true; {2199#true} is VALID [2022-02-20 23:43:26,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2199#true} {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} #93#return; {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:26,363 INFO L290 TraceCheckUtils]: 0: Hoare triple {2199#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2199#true} is VALID [2022-02-20 23:43:26,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {2199#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2199#true} is VALID [2022-02-20 23:43:26,363 INFO L272 TraceCheckUtils]: 2: Hoare triple {2199#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {2199#true} is VALID [2022-02-20 23:43:26,363 INFO L290 TraceCheckUtils]: 3: Hoare triple {2199#true} ~cond := #in~cond; {2199#true} is VALID [2022-02-20 23:43:26,363 INFO L290 TraceCheckUtils]: 4: Hoare triple {2199#true} assume !(0 == ~cond); {2199#true} is VALID [2022-02-20 23:43:26,363 INFO L290 TraceCheckUtils]: 5: Hoare triple {2199#true} assume true; {2199#true} is VALID [2022-02-20 23:43:26,363 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2199#true} {2199#true} #91#return; {2199#true} is VALID [2022-02-20 23:43:26,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {2199#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {2205#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} is VALID [2022-02-20 23:43:26,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {2205#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:26,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !(main_~x~0#1 < main_~y~0#1); {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:26,368 INFO L290 TraceCheckUtils]: 10: Hoare triple {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:26,368 INFO L272 TraceCheckUtils]: 11: Hoare triple {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {2199#true} is VALID [2022-02-20 23:43:26,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {2199#true} ~cond := #in~cond; {2199#true} is VALID [2022-02-20 23:43:26,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {2199#true} assume !(0 == ~cond); {2199#true} is VALID [2022-02-20 23:43:26,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {2199#true} assume true; {2199#true} is VALID [2022-02-20 23:43:26,369 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2199#true} {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} #93#return; {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:26,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {2206#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {2211#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:26,370 INFO L290 TraceCheckUtils]: 17: Hoare triple {2211#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !(4 + (main_~a~0#1.offset + 4 * main_~x~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~x~0#1); {2200#false} is VALID [2022-02-20 23:43:26,370 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:43:26,370 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:26,370 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [414872462] [2022-02-20 23:43:26,370 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [414872462] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:26,370 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:26,370 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:43:26,370 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [56832667] [2022-02-20 23:43:26,370 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:26,371 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.75) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-02-20 23:43:26,371 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:26,371 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.75) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,380 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:26,380 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:43:26,380 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:26,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:43:26,381 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:43:26,381 INFO L87 Difference]: Start difference. First operand 67 states and 84 transitions. Second operand has 5 states, 4 states have (on average 2.75) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:26,557 INFO L93 Difference]: Finished difference Result 103 states and 130 transitions. [2022-02-20 23:43:26,557 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:43:26,557 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.75) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-02-20 23:43:26,557 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:26,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.75) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-02-20 23:43:26,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.75) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-02-20 23:43:26,559 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 82 transitions. [2022-02-20 23:43:26,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:26,619 INFO L225 Difference]: With dead ends: 103 [2022-02-20 23:43:26,619 INFO L226 Difference]: Without dead ends: 103 [2022-02-20 23:43:26,619 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:43:26,620 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 68 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:26,620 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 102 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:43:26,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-02-20 23:43:26,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 66. [2022-02-20 23:43:26,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:26,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 66 states, 50 states have (on average 1.36) internal successors, (68), 56 states have internal predecessors, (68), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:26,623 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 66 states, 50 states have (on average 1.36) internal successors, (68), 56 states have internal predecessors, (68), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:26,623 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 66 states, 50 states have (on average 1.36) internal successors, (68), 56 states have internal predecessors, (68), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:26,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:26,625 INFO L93 Difference]: Finished difference Result 103 states and 130 transitions. [2022-02-20 23:43:26,625 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 130 transitions. [2022-02-20 23:43:26,625 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:26,625 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:26,625 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 50 states have (on average 1.36) internal successors, (68), 56 states have internal predecessors, (68), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 103 states. [2022-02-20 23:43:26,626 INFO L87 Difference]: Start difference. First operand has 66 states, 50 states have (on average 1.36) internal successors, (68), 56 states have internal predecessors, (68), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 103 states. [2022-02-20 23:43:26,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:26,628 INFO L93 Difference]: Finished difference Result 103 states and 130 transitions. [2022-02-20 23:43:26,628 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 130 transitions. [2022-02-20 23:43:26,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:26,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:26,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:26,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:26,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 50 states have (on average 1.36) internal successors, (68), 56 states have internal predecessors, (68), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:26,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 82 transitions. [2022-02-20 23:43:26,629 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 82 transitions. Word has length 18 [2022-02-20 23:43:26,629 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:26,630 INFO L470 AbstractCegarLoop]: Abstraction has 66 states and 82 transitions. [2022-02-20 23:43:26,630 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.75) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,630 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-02-20 23:43:26,630 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:43:26,630 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:26,630 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:26,630 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 23:43:26,630 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:26,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:26,631 INFO L85 PathProgramCache]: Analyzing trace with hash -349536599, now seen corresponding path program 1 times [2022-02-20 23:43:26,631 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:26,631 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [769517921] [2022-02-20 23:43:26,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:26,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:26,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:26,719 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:26,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:26,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {2593#true} ~cond := #in~cond; {2593#true} is VALID [2022-02-20 23:43:26,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {2593#true} assume !(0 == ~cond); {2593#true} is VALID [2022-02-20 23:43:26,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {2593#true} assume true; {2593#true} is VALID [2022-02-20 23:43:26,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2593#true} {2593#true} #91#return; {2593#true} is VALID [2022-02-20 23:43:26,739 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 23:43:26,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:26,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {2593#true} ~cond := #in~cond; {2593#true} is VALID [2022-02-20 23:43:26,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {2593#true} assume !(0 == ~cond); {2593#true} is VALID [2022-02-20 23:43:26,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {2593#true} assume true; {2593#true} is VALID [2022-02-20 23:43:26,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2593#true} {2601#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} #93#return; {2601#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} is VALID [2022-02-20 23:43:26,748 INFO L290 TraceCheckUtils]: 0: Hoare triple {2593#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2593#true} is VALID [2022-02-20 23:43:26,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {2593#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2593#true} is VALID [2022-02-20 23:43:26,748 INFO L272 TraceCheckUtils]: 2: Hoare triple {2593#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {2593#true} is VALID [2022-02-20 23:43:26,748 INFO L290 TraceCheckUtils]: 3: Hoare triple {2593#true} ~cond := #in~cond; {2593#true} is VALID [2022-02-20 23:43:26,749 INFO L290 TraceCheckUtils]: 4: Hoare triple {2593#true} assume !(0 == ~cond); {2593#true} is VALID [2022-02-20 23:43:26,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {2593#true} assume true; {2593#true} is VALID [2022-02-20 23:43:26,749 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2593#true} {2593#true} #91#return; {2593#true} is VALID [2022-02-20 23:43:26,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {2593#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {2599#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_#t~malloc6#1.base|))} is VALID [2022-02-20 23:43:26,750 INFO L290 TraceCheckUtils]: 8: Hoare triple {2599#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_#t~malloc6#1.base|))} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {2600#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:26,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {2600#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} assume !(main_~x~0#1 < main_~y~0#1); {2600#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:26,751 INFO L290 TraceCheckUtils]: 10: Hoare triple {2600#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {2601#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} is VALID [2022-02-20 23:43:26,751 INFO L272 TraceCheckUtils]: 11: Hoare triple {2601#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {2593#true} is VALID [2022-02-20 23:43:26,751 INFO L290 TraceCheckUtils]: 12: Hoare triple {2593#true} ~cond := #in~cond; {2593#true} is VALID [2022-02-20 23:43:26,751 INFO L290 TraceCheckUtils]: 13: Hoare triple {2593#true} assume !(0 == ~cond); {2593#true} is VALID [2022-02-20 23:43:26,751 INFO L290 TraceCheckUtils]: 14: Hoare triple {2593#true} assume true; {2593#true} is VALID [2022-02-20 23:43:26,752 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2593#true} {2601#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} #93#return; {2601#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} is VALID [2022-02-20 23:43:26,752 INFO L290 TraceCheckUtils]: 16: Hoare triple {2601#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {2606#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= |ULTIMATE.start_main_#t~mem12#1| 0))} is VALID [2022-02-20 23:43:26,753 INFO L290 TraceCheckUtils]: 17: Hoare triple {2606#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= |ULTIMATE.start_main_#t~mem12#1| 0))} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {2607#(and (= |ULTIMATE.start_main_#t~mem13#1| 0) (= |ULTIMATE.start_main_#t~mem12#1| 0))} is VALID [2022-02-20 23:43:26,753 INFO L272 TraceCheckUtils]: 18: Hoare triple {2607#(and (= |ULTIMATE.start_main_#t~mem13#1| 0) (= |ULTIMATE.start_main_#t~mem12#1| 0))} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {2608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 23:43:26,754 INFO L290 TraceCheckUtils]: 19: Hoare triple {2608#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2609#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 23:43:26,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {2609#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2594#false} is VALID [2022-02-20 23:43:26,754 INFO L290 TraceCheckUtils]: 21: Hoare triple {2594#false} assume !false; {2594#false} is VALID [2022-02-20 23:43:26,756 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:43:26,756 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:26,756 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [769517921] [2022-02-20 23:43:26,756 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [769517921] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:26,756 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:26,756 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 23:43:26,756 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1679636621] [2022-02-20 23:43:26,757 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:26,757 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 1.75) internal successors, (14), 8 states have internal predecessors, (14), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-02-20 23:43:26,757 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:26,757 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 1.75) internal successors, (14), 8 states have internal predecessors, (14), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:26,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:26,769 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:43:26,769 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:26,769 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:43:26,770 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:43:26,770 INFO L87 Difference]: Start difference. First operand 66 states and 82 transitions. Second operand has 9 states, 8 states have (on average 1.75) internal successors, (14), 8 states have internal predecessors, (14), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:27,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:27,077 INFO L93 Difference]: Finished difference Result 70 states and 85 transitions. [2022-02-20 23:43:27,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:43:27,077 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 1.75) internal successors, (14), 8 states have internal predecessors, (14), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-02-20 23:43:27,077 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:27,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 1.75) internal successors, (14), 8 states have internal predecessors, (14), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:27,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-02-20 23:43:27,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 1.75) internal successors, (14), 8 states have internal predecessors, (14), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:27,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-02-20 23:43:27,087 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 49 transitions. [2022-02-20 23:43:27,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:27,128 INFO L225 Difference]: With dead ends: 70 [2022-02-20 23:43:27,128 INFO L226 Difference]: Without dead ends: 70 [2022-02-20 23:43:27,128 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:43:27,128 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 59 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:27,129 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 146 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:43:27,129 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-02-20 23:43:27,131 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-02-20 23:43:27,131 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:27,131 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 53 states have (on average 1.3396226415094339) internal successors, (71), 59 states have internal predecessors, (71), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:27,132 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 53 states have (on average 1.3396226415094339) internal successors, (71), 59 states have internal predecessors, (71), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:27,132 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 53 states have (on average 1.3396226415094339) internal successors, (71), 59 states have internal predecessors, (71), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:27,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:27,133 INFO L93 Difference]: Finished difference Result 70 states and 85 transitions. [2022-02-20 23:43:27,134 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-02-20 23:43:27,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:27,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:27,134 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 53 states have (on average 1.3396226415094339) internal successors, (71), 59 states have internal predecessors, (71), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 70 states. [2022-02-20 23:43:27,135 INFO L87 Difference]: Start difference. First operand has 70 states, 53 states have (on average 1.3396226415094339) internal successors, (71), 59 states have internal predecessors, (71), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 70 states. [2022-02-20 23:43:27,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:27,136 INFO L93 Difference]: Finished difference Result 70 states and 85 transitions. [2022-02-20 23:43:27,136 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-02-20 23:43:27,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:27,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:27,137 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:27,137 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:27,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 53 states have (on average 1.3396226415094339) internal successors, (71), 59 states have internal predecessors, (71), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:27,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 85 transitions. [2022-02-20 23:43:27,138 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 85 transitions. Word has length 22 [2022-02-20 23:43:27,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:27,139 INFO L470 AbstractCegarLoop]: Abstraction has 70 states and 85 transitions. [2022-02-20 23:43:27,139 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 1.75) internal successors, (14), 8 states have internal predecessors, (14), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:27,139 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-02-20 23:43:27,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 23:43:27,139 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:27,140 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:27,140 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 23:43:27,140 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:27,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:27,140 INFO L85 PathProgramCache]: Analyzing trace with hash 716218012, now seen corresponding path program 1 times [2022-02-20 23:43:27,140 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:27,141 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1425776915] [2022-02-20 23:43:27,141 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:27,141 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:27,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:27,212 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:27,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:27,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {2900#true} ~cond := #in~cond; {2900#true} is VALID [2022-02-20 23:43:27,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {2900#true} assume !(0 == ~cond); {2900#true} is VALID [2022-02-20 23:43:27,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {2900#true} assume true; {2900#true} is VALID [2022-02-20 23:43:27,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2900#true} {2900#true} #91#return; {2900#true} is VALID [2022-02-20 23:43:27,216 INFO L290 TraceCheckUtils]: 0: Hoare triple {2900#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2900#true} is VALID [2022-02-20 23:43:27,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {2900#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2900#true} is VALID [2022-02-20 23:43:27,216 INFO L272 TraceCheckUtils]: 2: Hoare triple {2900#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {2900#true} is VALID [2022-02-20 23:43:27,216 INFO L290 TraceCheckUtils]: 3: Hoare triple {2900#true} ~cond := #in~cond; {2900#true} is VALID [2022-02-20 23:43:27,217 INFO L290 TraceCheckUtils]: 4: Hoare triple {2900#true} assume !(0 == ~cond); {2900#true} is VALID [2022-02-20 23:43:27,217 INFO L290 TraceCheckUtils]: 5: Hoare triple {2900#true} assume true; {2900#true} is VALID [2022-02-20 23:43:27,217 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2900#true} {2900#true} #91#return; {2900#true} is VALID [2022-02-20 23:43:27,218 INFO L290 TraceCheckUtils]: 7: Hoare triple {2900#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {2906#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_#t~malloc6#1.base|))} is VALID [2022-02-20 23:43:27,219 INFO L290 TraceCheckUtils]: 8: Hoare triple {2906#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_#t~malloc6#1.base|))} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {2907#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:27,219 INFO L290 TraceCheckUtils]: 9: Hoare triple {2907#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} assume !!(main_~x~0#1 < main_~y~0#1); {2907#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:27,220 INFO L290 TraceCheckUtils]: 10: Hoare triple {2907#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {2907#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:27,220 INFO L290 TraceCheckUtils]: 11: Hoare triple {2907#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {2907#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:27,220 INFO L290 TraceCheckUtils]: 12: Hoare triple {2907#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {2908#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))) 0))} is VALID [2022-02-20 23:43:27,221 INFO L290 TraceCheckUtils]: 13: Hoare triple {2908#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))) 0))} assume !!(main_~x~0#1 < main_~y~0#1); {2908#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))) 0))} is VALID [2022-02-20 23:43:27,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {2908#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))) 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {2909#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))) 0) (= |ULTIMATE.start_main_#t~mem7#1| 0))} is VALID [2022-02-20 23:43:27,222 INFO L290 TraceCheckUtils]: 15: Hoare triple {2909#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))) 0) (= |ULTIMATE.start_main_#t~mem7#1| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {2910#(and (= |ULTIMATE.start_main_#t~mem8#1| 0) (= |ULTIMATE.start_main_#t~mem7#1| 0))} is VALID [2022-02-20 23:43:27,222 INFO L290 TraceCheckUtils]: 16: Hoare triple {2910#(and (= |ULTIMATE.start_main_#t~mem8#1| 0) (= |ULTIMATE.start_main_#t~mem7#1| 0))} assume !(main_#t~mem7#1 <= main_#t~mem8#1);havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post10#1 := main_~y~0#1;main_~y~0#1 := main_#t~post10#1 - 1;havoc main_#t~post10#1; {2901#false} is VALID [2022-02-20 23:43:27,223 INFO L290 TraceCheckUtils]: 17: Hoare triple {2901#false} assume !!(main_~x~0#1 < main_~y~0#1); {2901#false} is VALID [2022-02-20 23:43:27,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {2901#false} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {2901#false} is VALID [2022-02-20 23:43:27,223 INFO L290 TraceCheckUtils]: 19: Hoare triple {2901#false} assume !(4 + (main_~a~0#1.offset + 4 * main_~y~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~y~0#1); {2901#false} is VALID [2022-02-20 23:43:27,223 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:27,223 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:27,223 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1425776915] [2022-02-20 23:43:27,223 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1425776915] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:43:27,224 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1750108673] [2022-02-20 23:43:27,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:27,224 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:27,224 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:43:27,225 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:43:27,226 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 23:43:27,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:27,265 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:43:27,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:27,274 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:43:27,514 INFO L290 TraceCheckUtils]: 0: Hoare triple {2900#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2900#true} is VALID [2022-02-20 23:43:27,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {2900#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2900#true} is VALID [2022-02-20 23:43:27,514 INFO L272 TraceCheckUtils]: 2: Hoare triple {2900#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {2900#true} is VALID [2022-02-20 23:43:27,514 INFO L290 TraceCheckUtils]: 3: Hoare triple {2900#true} ~cond := #in~cond; {2900#true} is VALID [2022-02-20 23:43:27,514 INFO L290 TraceCheckUtils]: 4: Hoare triple {2900#true} assume !(0 == ~cond); {2900#true} is VALID [2022-02-20 23:43:27,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {2900#true} assume true; {2900#true} is VALID [2022-02-20 23:43:27,514 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2900#true} {2900#true} #91#return; {2900#true} is VALID [2022-02-20 23:43:27,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {2900#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {2935#(<= 0 |ULTIMATE.start_main_#t~malloc6#1.offset|)} is VALID [2022-02-20 23:43:27,516 INFO L290 TraceCheckUtils]: 8: Hoare triple {2935#(<= 0 |ULTIMATE.start_main_#t~malloc6#1.offset|)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {2939#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:27,516 INFO L290 TraceCheckUtils]: 9: Hoare triple {2939#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} assume !!(main_~x~0#1 < main_~y~0#1); {2939#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:27,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {2939#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {2939#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:27,517 INFO L290 TraceCheckUtils]: 11: Hoare triple {2939#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {2949#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:27,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {2949#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {2953#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:27,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {2953#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !!(main_~x~0#1 < main_~y~0#1); {2953#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:27,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {2953#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {2953#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:27,519 INFO L290 TraceCheckUtils]: 15: Hoare triple {2953#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {2953#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:27,519 INFO L290 TraceCheckUtils]: 16: Hoare triple {2953#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !(main_#t~mem7#1 <= main_#t~mem8#1);havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post10#1 := main_~y~0#1;main_~y~0#1 := main_#t~post10#1 - 1;havoc main_#t~post10#1; {2966#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~y~0#1| 1) (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:27,520 INFO L290 TraceCheckUtils]: 17: Hoare triple {2966#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~y~0#1| 1) (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !!(main_~x~0#1 < main_~y~0#1); {2970#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~y~0#1| 1) (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (< 1 |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 23:43:27,520 INFO L290 TraceCheckUtils]: 18: Hoare triple {2970#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~y~0#1| 1) (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (< 1 |ULTIMATE.start_main_~y~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {2970#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~y~0#1| 1) (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (< 1 |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 23:43:27,521 INFO L290 TraceCheckUtils]: 19: Hoare triple {2970#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~y~0#1| 1) (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (< 1 |ULTIMATE.start_main_~y~0#1|))} assume !(4 + (main_~a~0#1.offset + 4 * main_~y~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~y~0#1); {2901#false} is VALID [2022-02-20 23:43:27,521 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:27,521 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:43:27,885 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 42 [2022-02-20 23:43:28,296 INFO L290 TraceCheckUtils]: 19: Hoare triple {2977#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))))} assume !(4 + (main_~a~0#1.offset + 4 * main_~y~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~y~0#1); {2901#false} is VALID [2022-02-20 23:43:28,297 INFO L290 TraceCheckUtils]: 18: Hoare triple {2977#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {2977#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))))} is VALID [2022-02-20 23:43:28,298 INFO L290 TraceCheckUtils]: 17: Hoare triple {2984#(or (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4)))) (not (< |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~y~0#1|)))} assume !!(main_~x~0#1 < main_~y~0#1); {2977#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4))))} is VALID [2022-02-20 23:43:28,298 INFO L290 TraceCheckUtils]: 16: Hoare triple {2988#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))))} assume !(main_#t~mem7#1 <= main_#t~mem8#1);havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post10#1 := main_~y~0#1;main_~y~0#1 := main_#t~post10#1 - 1;havoc main_#t~post10#1; {2984#(or (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4)))) (not (< |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~y~0#1|)))} is VALID [2022-02-20 23:43:28,299 INFO L290 TraceCheckUtils]: 15: Hoare triple {2988#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {2988#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))))} is VALID [2022-02-20 23:43:28,300 INFO L290 TraceCheckUtils]: 14: Hoare triple {2988#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {2988#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))))} is VALID [2022-02-20 23:43:28,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {2988#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))))} assume !!(main_~x~0#1 < main_~y~0#1); {2988#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))))} is VALID [2022-02-20 23:43:28,301 INFO L290 TraceCheckUtils]: 12: Hoare triple {3001#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ 2 |ULTIMATE.start_main_~x~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~y~0#1| (+ 2 |ULTIMATE.start_main_~x~0#1|)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ 2 |ULTIMATE.start_main_~x~0#1|))))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {2988#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~x~0#1| 1)) (<= |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))))} is VALID [2022-02-20 23:43:28,302 INFO L290 TraceCheckUtils]: 11: Hoare triple {3005#(<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ 2 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {3001#(and (or (<= |ULTIMATE.start_main_~y~0#1| (+ 2 |ULTIMATE.start_main_~x~0#1|)) (<= |ULTIMATE.start_main_~y~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~y~0#1| (+ 2 |ULTIMATE.start_main_~x~0#1|)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ 2 |ULTIMATE.start_main_~x~0#1|))))} is VALID [2022-02-20 23:43:28,302 INFO L290 TraceCheckUtils]: 10: Hoare triple {3005#(<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ 2 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {3005#(<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ 2 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:28,302 INFO L290 TraceCheckUtils]: 9: Hoare triple {3005#(<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ 2 |ULTIMATE.start_main_~x~0#1|))} assume !!(main_~x~0#1 < main_~y~0#1); {3005#(<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ 2 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:28,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {3015#(<= (div (+ |ULTIMATE.start_main_#t~malloc6#1.offset| (- 4)) (- 4)) 3)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {3005#(<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ 2 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:28,304 INFO L290 TraceCheckUtils]: 7: Hoare triple {2900#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {3015#(<= (div (+ |ULTIMATE.start_main_#t~malloc6#1.offset| (- 4)) (- 4)) 3)} is VALID [2022-02-20 23:43:28,304 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2900#true} {2900#true} #91#return; {2900#true} is VALID [2022-02-20 23:43:28,304 INFO L290 TraceCheckUtils]: 5: Hoare triple {2900#true} assume true; {2900#true} is VALID [2022-02-20 23:43:28,304 INFO L290 TraceCheckUtils]: 4: Hoare triple {2900#true} assume !(0 == ~cond); {2900#true} is VALID [2022-02-20 23:43:28,304 INFO L290 TraceCheckUtils]: 3: Hoare triple {2900#true} ~cond := #in~cond; {2900#true} is VALID [2022-02-20 23:43:28,305 INFO L272 TraceCheckUtils]: 2: Hoare triple {2900#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {2900#true} is VALID [2022-02-20 23:43:28,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {2900#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2900#true} is VALID [2022-02-20 23:43:28,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {2900#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {2900#true} is VALID [2022-02-20 23:43:28,305 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:28,305 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1750108673] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:43:28,305 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:43:28,305 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 19 [2022-02-20 23:43:28,306 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [898667617] [2022-02-20 23:43:28,306 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:43:28,306 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 19 states have internal predecessors, (44), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 20 [2022-02-20 23:43:28,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:28,307 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 19 states have internal predecessors, (44), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:28,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:28,340 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 23:43:28,340 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:28,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 23:43:28,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=282, Unknown=0, NotChecked=0, Total=342 [2022-02-20 23:43:28,340 INFO L87 Difference]: Start difference. First operand 70 states and 85 transitions. Second operand has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 19 states have internal predecessors, (44), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:29,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:29,304 INFO L93 Difference]: Finished difference Result 71 states and 79 transitions. [2022-02-20 23:43:29,304 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:43:29,305 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 19 states have internal predecessors, (44), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 20 [2022-02-20 23:43:29,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:29,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 19 states have internal predecessors, (44), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:29,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-02-20 23:43:29,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 19 states have internal predecessors, (44), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:29,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-02-20 23:43:29,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 72 transitions. [2022-02-20 23:43:29,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:29,393 INFO L225 Difference]: With dead ends: 71 [2022-02-20 23:43:29,393 INFO L226 Difference]: Without dead ends: 71 [2022-02-20 23:43:29,393 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 78 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=204, Invalid=552, Unknown=0, NotChecked=0, Total=756 [2022-02-20 23:43:29,394 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 231 mSDsluCounter, 203 mSDsCounter, 0 mSdLazyCounter, 218 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 231 SdHoareTripleChecker+Valid, 234 SdHoareTripleChecker+Invalid, 268 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 218 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:29,394 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [231 Valid, 234 Invalid, 268 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 218 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:43:29,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-02-20 23:43:29,396 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 61. [2022-02-20 23:43:29,396 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:29,396 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 61 states, 45 states have (on average 1.2666666666666666) internal successors, (57), 50 states have internal predecessors, (57), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:29,396 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 61 states, 45 states have (on average 1.2666666666666666) internal successors, (57), 50 states have internal predecessors, (57), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:29,396 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 61 states, 45 states have (on average 1.2666666666666666) internal successors, (57), 50 states have internal predecessors, (57), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:29,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:29,402 INFO L93 Difference]: Finished difference Result 71 states and 79 transitions. [2022-02-20 23:43:29,402 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 79 transitions. [2022-02-20 23:43:29,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:29,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:29,402 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 45 states have (on average 1.2666666666666666) internal successors, (57), 50 states have internal predecessors, (57), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 71 states. [2022-02-20 23:43:29,403 INFO L87 Difference]: Start difference. First operand has 61 states, 45 states have (on average 1.2666666666666666) internal successors, (57), 50 states have internal predecessors, (57), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 71 states. [2022-02-20 23:43:29,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:29,404 INFO L93 Difference]: Finished difference Result 71 states and 79 transitions. [2022-02-20 23:43:29,404 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 79 transitions. [2022-02-20 23:43:29,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:29,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:29,404 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:29,404 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:29,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 45 states have (on average 1.2666666666666666) internal successors, (57), 50 states have internal predecessors, (57), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:29,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 71 transitions. [2022-02-20 23:43:29,405 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 71 transitions. Word has length 20 [2022-02-20 23:43:29,406 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:29,406 INFO L470 AbstractCegarLoop]: Abstraction has 61 states and 71 transitions. [2022-02-20 23:43:29,406 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 19 states have internal predecessors, (44), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:43:29,406 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2022-02-20 23:43:29,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:43:29,406 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:29,407 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:29,423 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-02-20 23:43:29,623 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,SelfDestructingSolverStorable8 [2022-02-20 23:43:29,623 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:29,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:29,624 INFO L85 PathProgramCache]: Analyzing trace with hash -1772526638, now seen corresponding path program 1 times [2022-02-20 23:43:29,624 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:29,624 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1130334555] [2022-02-20 23:43:29,624 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:29,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:29,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:29,709 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:29,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:29,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {3331#true} ~cond := #in~cond; {3331#true} is VALID [2022-02-20 23:43:29,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {3331#true} assume !(0 == ~cond); {3331#true} is VALID [2022-02-20 23:43:29,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {3331#true} assume true; {3331#true} is VALID [2022-02-20 23:43:29,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3331#true} {3331#true} #91#return; {3331#true} is VALID [2022-02-20 23:43:29,713 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-02-20 23:43:29,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:29,719 INFO L290 TraceCheckUtils]: 0: Hoare triple {3331#true} ~cond := #in~cond; {3331#true} is VALID [2022-02-20 23:43:29,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {3331#true} assume !(0 == ~cond); {3331#true} is VALID [2022-02-20 23:43:29,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {3331#true} assume true; {3331#true} is VALID [2022-02-20 23:43:29,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3331#true} {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} #93#return; {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:29,720 INFO L290 TraceCheckUtils]: 0: Hoare triple {3331#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3331#true} is VALID [2022-02-20 23:43:29,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {3331#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3331#true} is VALID [2022-02-20 23:43:29,720 INFO L272 TraceCheckUtils]: 2: Hoare triple {3331#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {3331#true} is VALID [2022-02-20 23:43:29,721 INFO L290 TraceCheckUtils]: 3: Hoare triple {3331#true} ~cond := #in~cond; {3331#true} is VALID [2022-02-20 23:43:29,721 INFO L290 TraceCheckUtils]: 4: Hoare triple {3331#true} assume !(0 == ~cond); {3331#true} is VALID [2022-02-20 23:43:29,721 INFO L290 TraceCheckUtils]: 5: Hoare triple {3331#true} assume true; {3331#true} is VALID [2022-02-20 23:43:29,721 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3331#true} {3331#true} #91#return; {3331#true} is VALID [2022-02-20 23:43:29,721 INFO L290 TraceCheckUtils]: 7: Hoare triple {3331#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {3337#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} is VALID [2022-02-20 23:43:29,722 INFO L290 TraceCheckUtils]: 8: Hoare triple {3337#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {3338#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:29,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {3338#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !!(main_~x~0#1 < main_~y~0#1); {3339#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:29,723 INFO L290 TraceCheckUtils]: 10: Hoare triple {3339#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {3339#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:29,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {3339#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {3340#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:29,734 INFO L290 TraceCheckUtils]: 12: Hoare triple {3340#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:29,734 INFO L290 TraceCheckUtils]: 13: Hoare triple {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !(main_~x~0#1 < main_~y~0#1); {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:29,735 INFO L290 TraceCheckUtils]: 14: Hoare triple {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:29,735 INFO L272 TraceCheckUtils]: 15: Hoare triple {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {3331#true} is VALID [2022-02-20 23:43:29,735 INFO L290 TraceCheckUtils]: 16: Hoare triple {3331#true} ~cond := #in~cond; {3331#true} is VALID [2022-02-20 23:43:29,735 INFO L290 TraceCheckUtils]: 17: Hoare triple {3331#true} assume !(0 == ~cond); {3331#true} is VALID [2022-02-20 23:43:29,735 INFO L290 TraceCheckUtils]: 18: Hoare triple {3331#true} assume true; {3331#true} is VALID [2022-02-20 23:43:29,736 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3331#true} {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} #93#return; {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:29,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:29,737 INFO L290 TraceCheckUtils]: 21: Hoare triple {3341#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !(4 + (main_~a~0#1.offset + 4 * main_~x~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~x~0#1); {3332#false} is VALID [2022-02-20 23:43:29,737 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:43:29,737 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:29,737 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1130334555] [2022-02-20 23:43:29,737 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1130334555] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:43:29,737 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1538638197] [2022-02-20 23:43:29,737 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:29,737 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:29,737 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:43:29,738 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:43:29,739 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 23:43:29,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:29,792 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:43:29,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:29,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:43:30,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {3331#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3331#true} is VALID [2022-02-20 23:43:30,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {3331#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3331#true} is VALID [2022-02-20 23:43:30,511 INFO L272 TraceCheckUtils]: 2: Hoare triple {3331#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {3331#true} is VALID [2022-02-20 23:43:30,511 INFO L290 TraceCheckUtils]: 3: Hoare triple {3331#true} ~cond := #in~cond; {3331#true} is VALID [2022-02-20 23:43:30,511 INFO L290 TraceCheckUtils]: 4: Hoare triple {3331#true} assume !(0 == ~cond); {3331#true} is VALID [2022-02-20 23:43:30,511 INFO L290 TraceCheckUtils]: 5: Hoare triple {3331#true} assume true; {3331#true} is VALID [2022-02-20 23:43:30,511 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3331#true} {3331#true} #91#return; {3331#true} is VALID [2022-02-20 23:43:30,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {3331#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {3370#(<= 0 |ULTIMATE.start_main_#t~malloc6#1.offset|)} is VALID [2022-02-20 23:43:30,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {3370#(<= 0 |ULTIMATE.start_main_#t~malloc6#1.offset|)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {3374#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:30,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {3374#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} assume !!(main_~x~0#1 < main_~y~0#1); {3378#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (< |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 23:43:30,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {3378#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (< |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~y~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {3378#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (< |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 23:43:30,517 INFO L290 TraceCheckUtils]: 11: Hoare triple {3378#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (< |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~y~0#1|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {3385#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (< |ULTIMATE.start_main_~x~0#1| (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:43:30,518 INFO L290 TraceCheckUtils]: 12: Hoare triple {3385#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|) (< |ULTIMATE.start_main_~x~0#1| (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:30,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !(main_~x~0#1 < main_~y~0#1); {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:30,519 INFO L290 TraceCheckUtils]: 14: Hoare triple {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:30,520 INFO L272 TraceCheckUtils]: 15: Hoare triple {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {3399#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| Int)) (and (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148|) (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1|))))} is VALID [2022-02-20 23:43:30,521 INFO L290 TraceCheckUtils]: 16: Hoare triple {3399#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| Int)) (and (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148|) (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1|))))} ~cond := #in~cond; {3399#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| Int)) (and (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148|) (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1|))))} is VALID [2022-02-20 23:43:30,522 INFO L290 TraceCheckUtils]: 17: Hoare triple {3399#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| Int)) (and (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148|) (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1|))))} assume !(0 == ~cond); {3399#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| Int)) (and (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148|) (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1|))))} is VALID [2022-02-20 23:43:30,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {3399#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| Int)) (and (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148|) (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1|))))} assume true; {3399#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| Int)) (and (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148|) (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1|))))} is VALID [2022-02-20 23:43:30,523 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3399#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| Int)) (and (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148|) (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_1_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_1|))))} {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} #93#return; {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:30,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:30,524 INFO L290 TraceCheckUtils]: 21: Hoare triple {3389#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< |ULTIMATE.start_main_~x~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 1 |ULTIMATE.start_main_~x~0#1|))} assume !(4 + (main_~a~0#1.offset + 4 * main_~x~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~x~0#1); {3332#false} is VALID [2022-02-20 23:43:30,524 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:43:30,524 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:43:30,525 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1538638197] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:30,525 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:43:30,525 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [6] total 12 [2022-02-20 23:43:30,525 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [161634263] [2022-02-20 23:43:30,525 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:30,525 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-02-20 23:43:30,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:30,531 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:30,556 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:30,556 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:43:30,556 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:30,556 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:43:30,557 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:43:30,557 INFO L87 Difference]: Start difference. First operand 61 states and 71 transitions. Second operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:30,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:30,980 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-02-20 23:43:30,980 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:43:30,980 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-02-20 23:43:30,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:30,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:30,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-02-20 23:43:30,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:30,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-02-20 23:43:30,982 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 73 transitions. [2022-02-20 23:43:31,048 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:31,049 INFO L225 Difference]: With dead ends: 73 [2022-02-20 23:43:31,049 INFO L226 Difference]: Without dead ends: 73 [2022-02-20 23:43:31,049 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 20 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=89, Invalid=253, Unknown=0, NotChecked=0, Total=342 [2022-02-20 23:43:31,050 INFO L933 BasicCegarLoop]: 43 mSDtfsCounter, 63 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 129 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 19 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:31,050 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 164 Invalid, 129 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 101 Invalid, 0 Unknown, 19 Unchecked, 0.1s Time] [2022-02-20 23:43:31,050 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-02-20 23:43:31,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 51. [2022-02-20 23:43:31,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:31,052 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 51 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 42 states have internal predecessors, (45), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:31,052 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 51 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 42 states have internal predecessors, (45), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:31,052 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 51 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 42 states have internal predecessors, (45), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:31,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:31,054 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-02-20 23:43:31,054 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-02-20 23:43:31,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:31,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:31,054 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 42 states have internal predecessors, (45), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 73 states. [2022-02-20 23:43:31,054 INFO L87 Difference]: Start difference. First operand has 51 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 42 states have internal predecessors, (45), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 73 states. [2022-02-20 23:43:31,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:31,071 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-02-20 23:43:31,071 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-02-20 23:43:31,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:31,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:31,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:31,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:31,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 42 states have internal predecessors, (45), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:31,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2022-02-20 23:43:31,073 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 22 [2022-02-20 23:43:31,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:31,073 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2022-02-20 23:43:31,073 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:43:31,073 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-02-20 23:43:31,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-02-20 23:43:31,073 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:31,074 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:31,089 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-02-20 23:43:31,274 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:31,274 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr13ASSERT_VIOLATIONMEMORY_FREE === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:31,274 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:31,275 INFO L85 PathProgramCache]: Analyzing trace with hash -2088368292, now seen corresponding path program 1 times [2022-02-20 23:43:31,275 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:31,275 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [853184263] [2022-02-20 23:43:31,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:31,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:31,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:31,319 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:31,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:31,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {3700#true} ~cond := #in~cond; {3700#true} is VALID [2022-02-20 23:43:31,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {3700#true} assume !(0 == ~cond); {3700#true} is VALID [2022-02-20 23:43:31,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {3700#true} assume true; {3700#true} is VALID [2022-02-20 23:43:31,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3700#true} {3700#true} #91#return; {3700#true} is VALID [2022-02-20 23:43:31,323 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 23:43:31,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:31,326 INFO L290 TraceCheckUtils]: 0: Hoare triple {3700#true} ~cond := #in~cond; {3700#true} is VALID [2022-02-20 23:43:31,326 INFO L290 TraceCheckUtils]: 1: Hoare triple {3700#true} assume !(0 == ~cond); {3700#true} is VALID [2022-02-20 23:43:31,326 INFO L290 TraceCheckUtils]: 2: Hoare triple {3700#true} assume true; {3700#true} is VALID [2022-02-20 23:43:31,327 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3700#true} {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} #93#return; {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} is VALID [2022-02-20 23:43:31,327 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 23:43:31,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:31,330 INFO L290 TraceCheckUtils]: 0: Hoare triple {3700#true} ~cond := #in~cond; {3700#true} is VALID [2022-02-20 23:43:31,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {3700#true} assume !(0 == ~cond); {3700#true} is VALID [2022-02-20 23:43:31,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {3700#true} assume true; {3700#true} is VALID [2022-02-20 23:43:31,330 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3700#true} {3712#(<= 1 |ULTIMATE.start_main_~n~0#1|)} #95#return; {3712#(<= 1 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-20 23:43:31,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {3700#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3700#true} is VALID [2022-02-20 23:43:31,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {3700#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3700#true} is VALID [2022-02-20 23:43:31,331 INFO L272 TraceCheckUtils]: 2: Hoare triple {3700#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {3700#true} is VALID [2022-02-20 23:43:31,344 INFO L290 TraceCheckUtils]: 3: Hoare triple {3700#true} ~cond := #in~cond; {3700#true} is VALID [2022-02-20 23:43:31,344 INFO L290 TraceCheckUtils]: 4: Hoare triple {3700#true} assume !(0 == ~cond); {3700#true} is VALID [2022-02-20 23:43:31,345 INFO L290 TraceCheckUtils]: 5: Hoare triple {3700#true} assume true; {3700#true} is VALID [2022-02-20 23:43:31,345 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3700#true} {3700#true} #91#return; {3700#true} is VALID [2022-02-20 23:43:31,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {3700#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {3706#(<= (select |#length| |ULTIMATE.start_main_#t~malloc6#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} is VALID [2022-02-20 23:43:31,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {3706#(<= (select |#length| |ULTIMATE.start_main_#t~malloc6#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} is VALID [2022-02-20 23:43:31,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} assume !(main_~x~0#1 < main_~y~0#1); {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} is VALID [2022-02-20 23:43:31,347 INFO L290 TraceCheckUtils]: 10: Hoare triple {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} is VALID [2022-02-20 23:43:31,347 INFO L272 TraceCheckUtils]: 11: Hoare triple {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {3700#true} is VALID [2022-02-20 23:43:31,347 INFO L290 TraceCheckUtils]: 12: Hoare triple {3700#true} ~cond := #in~cond; {3700#true} is VALID [2022-02-20 23:43:31,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {3700#true} assume !(0 == ~cond); {3700#true} is VALID [2022-02-20 23:43:31,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {3700#true} assume true; {3700#true} is VALID [2022-02-20 23:43:31,348 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3700#true} {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} #93#return; {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} is VALID [2022-02-20 23:43:31,348 INFO L290 TraceCheckUtils]: 16: Hoare triple {3707#(<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~n~0#1| 4))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {3712#(<= 1 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-20 23:43:31,349 INFO L290 TraceCheckUtils]: 17: Hoare triple {3712#(<= 1 |ULTIMATE.start_main_~n~0#1|)} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {3712#(<= 1 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-20 23:43:31,349 INFO L272 TraceCheckUtils]: 18: Hoare triple {3712#(<= 1 |ULTIMATE.start_main_~n~0#1|)} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {3700#true} is VALID [2022-02-20 23:43:31,349 INFO L290 TraceCheckUtils]: 19: Hoare triple {3700#true} ~cond := #in~cond; {3700#true} is VALID [2022-02-20 23:43:31,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {3700#true} assume !(0 == ~cond); {3700#true} is VALID [2022-02-20 23:43:31,349 INFO L290 TraceCheckUtils]: 21: Hoare triple {3700#true} assume true; {3700#true} is VALID [2022-02-20 23:43:31,350 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3700#true} {3712#(<= 1 |ULTIMATE.start_main_~n~0#1|)} #95#return; {3712#(<= 1 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-20 23:43:31,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {3712#(<= 1 |ULTIMATE.start_main_~n~0#1|)} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {3717#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 1 |ULTIMATE.start_main_~n~0#1|))} is VALID [2022-02-20 23:43:31,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {3717#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 1 |ULTIMATE.start_main_~n~0#1|))} assume !(main_~i~0#1 < main_~n~0#1); {3701#false} is VALID [2022-02-20 23:43:31,350 INFO L290 TraceCheckUtils]: 25: Hoare triple {3701#false} assume 0 == main_~a~0#1.offset; {3701#false} is VALID [2022-02-20 23:43:31,355 INFO L290 TraceCheckUtils]: 26: Hoare triple {3701#false} assume !(main_~a~0#1.base < #StackHeapBarrier); {3701#false} is VALID [2022-02-20 23:43:31,355 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:43:31,356 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:31,356 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [853184263] [2022-02-20 23:43:31,358 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [853184263] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:31,358 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:31,358 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:43:31,358 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [235176243] [2022-02-20 23:43:31,358 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:31,359 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 27 [2022-02-20 23:43:31,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:31,359 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:43:31,374 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:31,375 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:43:31,375 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:31,375 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:43:31,375 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:43:31,375 INFO L87 Difference]: Start difference. First operand 51 states and 55 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:43:31,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:31,557 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-02-20 23:43:31,557 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:43:31,557 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 27 [2022-02-20 23:43:31,557 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:31,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:43:31,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 23:43:31,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:43:31,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 23:43:31,559 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 23:43:31,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:31,603 INFO L225 Difference]: With dead ends: 57 [2022-02-20 23:43:31,603 INFO L226 Difference]: Without dead ends: 57 [2022-02-20 23:43:31,603 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=44, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:43:31,603 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 73 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 70 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:31,603 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 94 Invalid, 70 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:43:31,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-02-20 23:43:31,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 51. [2022-02-20 23:43:31,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:31,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 51 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 42 states have internal predecessors, (44), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:31,605 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 51 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 42 states have internal predecessors, (44), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:31,605 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 51 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 42 states have internal predecessors, (44), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:31,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:31,611 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-02-20 23:43:31,611 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2022-02-20 23:43:31,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:31,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:31,612 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 42 states have internal predecessors, (44), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 57 states. [2022-02-20 23:43:31,612 INFO L87 Difference]: Start difference. First operand has 51 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 42 states have internal predecessors, (44), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 57 states. [2022-02-20 23:43:31,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:31,613 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-02-20 23:43:31,613 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2022-02-20 23:43:31,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:31,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:31,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:31,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:31,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 42 states have internal predecessors, (44), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:31,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 54 transitions. [2022-02-20 23:43:31,615 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 54 transitions. Word has length 27 [2022-02-20 23:43:31,615 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:31,615 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 54 transitions. [2022-02-20 23:43:31,615 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:43:31,615 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 54 transitions. [2022-02-20 23:43:31,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:43:31,617 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:31,617 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:31,617 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 23:43:31,617 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:31,618 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:31,618 INFO L85 PathProgramCache]: Analyzing trace with hash 161961841, now seen corresponding path program 1 times [2022-02-20 23:43:31,618 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:31,618 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1754473355] [2022-02-20 23:43:31,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:31,618 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:31,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:31,705 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:31,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:31,708 INFO L290 TraceCheckUtils]: 0: Hoare triple {3948#true} ~cond := #in~cond; {3948#true} is VALID [2022-02-20 23:43:31,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {3948#true} assume !(0 == ~cond); {3948#true} is VALID [2022-02-20 23:43:31,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {3948#true} assume true; {3948#true} is VALID [2022-02-20 23:43:31,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3948#true} {3948#true} #91#return; {3948#true} is VALID [2022-02-20 23:43:31,708 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 23:43:31,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:31,711 INFO L290 TraceCheckUtils]: 0: Hoare triple {3948#true} ~cond := #in~cond; {3948#true} is VALID [2022-02-20 23:43:31,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {3948#true} assume !(0 == ~cond); {3948#true} is VALID [2022-02-20 23:43:31,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {3948#true} assume true; {3948#true} is VALID [2022-02-20 23:43:31,712 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3948#true} {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} #93#return; {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:31,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 23:43:31,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:31,715 INFO L290 TraceCheckUtils]: 0: Hoare triple {3948#true} ~cond := #in~cond; {3948#true} is VALID [2022-02-20 23:43:31,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {3948#true} assume !(0 == ~cond); {3948#true} is VALID [2022-02-20 23:43:31,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {3948#true} assume true; {3948#true} is VALID [2022-02-20 23:43:31,715 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3948#true} {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} #95#return; {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:31,715 INFO L290 TraceCheckUtils]: 0: Hoare triple {3948#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {3948#true} is VALID [2022-02-20 23:43:31,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {3948#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3948#true} is VALID [2022-02-20 23:43:31,716 INFO L272 TraceCheckUtils]: 2: Hoare triple {3948#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {3948#true} is VALID [2022-02-20 23:43:31,716 INFO L290 TraceCheckUtils]: 3: Hoare triple {3948#true} ~cond := #in~cond; {3948#true} is VALID [2022-02-20 23:43:31,716 INFO L290 TraceCheckUtils]: 4: Hoare triple {3948#true} assume !(0 == ~cond); {3948#true} is VALID [2022-02-20 23:43:31,716 INFO L290 TraceCheckUtils]: 5: Hoare triple {3948#true} assume true; {3948#true} is VALID [2022-02-20 23:43:31,716 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3948#true} {3948#true} #91#return; {3948#true} is VALID [2022-02-20 23:43:31,717 INFO L290 TraceCheckUtils]: 7: Hoare triple {3948#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {3954#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_#t~malloc6#1.base|))} is VALID [2022-02-20 23:43:31,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {3954#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_#t~malloc6#1.base|))} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:31,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} assume !(main_~x~0#1 < main_~y~0#1); {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:31,718 INFO L290 TraceCheckUtils]: 10: Hoare triple {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:31,718 INFO L272 TraceCheckUtils]: 11: Hoare triple {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {3948#true} is VALID [2022-02-20 23:43:31,718 INFO L290 TraceCheckUtils]: 12: Hoare triple {3948#true} ~cond := #in~cond; {3948#true} is VALID [2022-02-20 23:43:31,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {3948#true} assume !(0 == ~cond); {3948#true} is VALID [2022-02-20 23:43:31,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {3948#true} assume true; {3948#true} is VALID [2022-02-20 23:43:31,718 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3948#true} {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} #93#return; {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:31,719 INFO L290 TraceCheckUtils]: 16: Hoare triple {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:31,719 INFO L290 TraceCheckUtils]: 17: Hoare triple {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:31,719 INFO L272 TraceCheckUtils]: 18: Hoare triple {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {3948#true} is VALID [2022-02-20 23:43:31,719 INFO L290 TraceCheckUtils]: 19: Hoare triple {3948#true} ~cond := #in~cond; {3948#true} is VALID [2022-02-20 23:43:31,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {3948#true} assume !(0 == ~cond); {3948#true} is VALID [2022-02-20 23:43:31,719 INFO L290 TraceCheckUtils]: 21: Hoare triple {3948#true} assume true; {3948#true} is VALID [2022-02-20 23:43:31,720 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3948#true} {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} #95#return; {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} is VALID [2022-02-20 23:43:31,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {3955#(= ((as const (Array Int Int)) 0) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|))} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {3964#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} is VALID [2022-02-20 23:43:31,721 INFO L290 TraceCheckUtils]: 24: Hoare triple {3964#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} assume !!(main_~i~0#1 < main_~n~0#1); {3964#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} is VALID [2022-02-20 23:43:31,721 INFO L290 TraceCheckUtils]: 25: Hoare triple {3964#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))) 0))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {3965#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= |ULTIMATE.start_main_#t~mem15#1| 0))} is VALID [2022-02-20 23:43:31,721 INFO L290 TraceCheckUtils]: 26: Hoare triple {3965#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4))) 0) (= |ULTIMATE.start_main_#t~mem15#1| 0))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {3966#(and (= |ULTIMATE.start_main_#t~mem16#1| 0) (= |ULTIMATE.start_main_#t~mem15#1| 0))} is VALID [2022-02-20 23:43:31,722 INFO L272 TraceCheckUtils]: 27: Hoare triple {3966#(and (= |ULTIMATE.start_main_#t~mem16#1| 0) (= |ULTIMATE.start_main_#t~mem15#1| 0))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {3967#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 23:43:31,722 INFO L290 TraceCheckUtils]: 28: Hoare triple {3967#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3968#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 23:43:31,723 INFO L290 TraceCheckUtils]: 29: Hoare triple {3968#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3949#false} is VALID [2022-02-20 23:43:31,723 INFO L290 TraceCheckUtils]: 30: Hoare triple {3949#false} assume !false; {3949#false} is VALID [2022-02-20 23:43:31,723 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:43:31,723 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:31,723 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1754473355] [2022-02-20 23:43:31,723 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1754473355] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:31,723 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:31,723 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 23:43:31,723 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [481844870] [2022-02-20 23:43:31,723 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:31,724 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 31 [2022-02-20 23:43:31,724 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:31,724 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.625) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:43:31,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:31,742 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:43:31,742 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:31,742 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:43:31,742 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:43:31,743 INFO L87 Difference]: Start difference. First operand 51 states and 54 transitions. Second operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:43:31,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:31,993 INFO L93 Difference]: Finished difference Result 49 states and 52 transitions. [2022-02-20 23:43:31,993 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:43:31,994 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 31 [2022-02-20 23:43:31,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:31,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:43:31,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 43 transitions. [2022-02-20 23:43:31,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:43:31,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 43 transitions. [2022-02-20 23:43:31,995 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 43 transitions. [2022-02-20 23:43:32,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:32,025 INFO L225 Difference]: With dead ends: 49 [2022-02-20 23:43:32,025 INFO L226 Difference]: Without dead ends: 49 [2022-02-20 23:43:32,025 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:43:32,026 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 48 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 102 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 112 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 102 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:32,026 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 144 Invalid, 112 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 102 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:43:32,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-20 23:43:32,027 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 49. [2022-02-20 23:43:32,027 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:32,027 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:32,027 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:32,028 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:32,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:32,028 INFO L93 Difference]: Finished difference Result 49 states and 52 transitions. [2022-02-20 23:43:32,028 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2022-02-20 23:43:32,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:32,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:32,029 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 49 states. [2022-02-20 23:43:32,029 INFO L87 Difference]: Start difference. First operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 49 states. [2022-02-20 23:43:32,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:32,030 INFO L93 Difference]: Finished difference Result 49 states and 52 transitions. [2022-02-20 23:43:32,035 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2022-02-20 23:43:32,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:32,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:32,035 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:32,035 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:32,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:32,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 52 transitions. [2022-02-20 23:43:32,037 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 52 transitions. Word has length 31 [2022-02-20 23:43:32,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:32,038 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 52 transitions. [2022-02-20 23:43:32,038 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 8 states have internal predecessors, (21), 3 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:43:32,038 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2022-02-20 23:43:32,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 23:43:32,038 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:32,038 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:32,039 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-02-20 23:43:32,039 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:32,039 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:32,039 INFO L85 PathProgramCache]: Analyzing trace with hash -21165132, now seen corresponding path program 1 times [2022-02-20 23:43:32,039 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:32,040 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [449691824] [2022-02-20 23:43:32,040 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:32,040 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:32,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,106 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:32,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,111 INFO L290 TraceCheckUtils]: 0: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4175#true} {4175#true} #91#return; {4175#true} is VALID [2022-02-20 23:43:32,112 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 23:43:32,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,116 INFO L290 TraceCheckUtils]: 0: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,117 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4175#true} {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} #93#return; {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,117 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 23:43:32,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,122 INFO L290 TraceCheckUtils]: 0: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,127 INFO L290 TraceCheckUtils]: 2: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4175#true} {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} #95#return; {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,128 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-02-20 23:43:32,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,131 INFO L290 TraceCheckUtils]: 0: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,132 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4175#true} {4192#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 1))} #97#return; {4192#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {4175#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {4175#true} is VALID [2022-02-20 23:43:32,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {4175#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {4175#true} is VALID [2022-02-20 23:43:32,133 INFO L272 TraceCheckUtils]: 2: Hoare triple {4175#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {4175#true} is VALID [2022-02-20 23:43:32,133 INFO L290 TraceCheckUtils]: 3: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,133 INFO L290 TraceCheckUtils]: 4: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,133 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4175#true} {4175#true} #91#return; {4175#true} is VALID [2022-02-20 23:43:32,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {4175#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {4175#true} is VALID [2022-02-20 23:43:32,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {4175#true} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {4181#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {4181#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !(main_~x~0#1 < main_~y~0#1); {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,135 INFO L290 TraceCheckUtils]: 10: Hoare triple {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,135 INFO L272 TraceCheckUtils]: 11: Hoare triple {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {4175#true} is VALID [2022-02-20 23:43:32,135 INFO L290 TraceCheckUtils]: 12: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,136 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4175#true} {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} #93#return; {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,136 INFO L290 TraceCheckUtils]: 16: Hoare triple {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,137 INFO L290 TraceCheckUtils]: 17: Hoare triple {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,137 INFO L272 TraceCheckUtils]: 18: Hoare triple {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {4175#true} is VALID [2022-02-20 23:43:32,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,137 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4175#true} {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} #95#return; {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {4182#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {4191#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {4191#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !!(main_~i~0#1 < main_~n~0#1); {4191#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,139 INFO L290 TraceCheckUtils]: 25: Hoare triple {4191#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {4191#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,139 INFO L290 TraceCheckUtils]: 26: Hoare triple {4191#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {4192#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,139 INFO L272 TraceCheckUtils]: 27: Hoare triple {4192#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 1))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {4175#true} is VALID [2022-02-20 23:43:32,139 INFO L290 TraceCheckUtils]: 28: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,139 INFO L290 TraceCheckUtils]: 29: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,140 INFO L290 TraceCheckUtils]: 30: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,140 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4175#true} {4192#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 1))} #97#return; {4192#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,140 INFO L290 TraceCheckUtils]: 32: Hoare triple {4192#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 1))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {4192#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,141 INFO L290 TraceCheckUtils]: 33: Hoare triple {4192#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {4197#(<= |ULTIMATE.start_main_~n~0#1| |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:32,141 INFO L290 TraceCheckUtils]: 34: Hoare triple {4197#(<= |ULTIMATE.start_main_~n~0#1| |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~n~0#1); {4176#false} is VALID [2022-02-20 23:43:32,141 INFO L290 TraceCheckUtils]: 35: Hoare triple {4176#false} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {4176#false} is VALID [2022-02-20 23:43:32,141 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:43:32,142 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:32,142 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [449691824] [2022-02-20 23:43:32,142 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [449691824] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:43:32,142 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [971663991] [2022-02-20 23:43:32,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:32,142 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:32,142 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:43:32,143 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:43:32,159 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 23:43:32,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,193 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:43:32,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,205 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:43:32,394 INFO L290 TraceCheckUtils]: 0: Hoare triple {4175#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {4175#true} is VALID [2022-02-20 23:43:32,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {4175#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {4175#true} is VALID [2022-02-20 23:43:32,394 INFO L272 TraceCheckUtils]: 2: Hoare triple {4175#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {4175#true} is VALID [2022-02-20 23:43:32,394 INFO L290 TraceCheckUtils]: 3: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,394 INFO L290 TraceCheckUtils]: 4: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,395 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4175#true} {4175#true} #91#return; {4175#true} is VALID [2022-02-20 23:43:32,395 INFO L290 TraceCheckUtils]: 7: Hoare triple {4175#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {4175#true} is VALID [2022-02-20 23:43:32,396 INFO L290 TraceCheckUtils]: 8: Hoare triple {4175#true} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {4225#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:32,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {4225#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} assume !(main_~x~0#1 < main_~y~0#1); {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-20 23:43:32,396 INFO L290 TraceCheckUtils]: 10: Hoare triple {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-20 23:43:32,396 INFO L272 TraceCheckUtils]: 11: Hoare triple {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {4175#true} is VALID [2022-02-20 23:43:32,397 INFO L290 TraceCheckUtils]: 12: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,397 INFO L290 TraceCheckUtils]: 13: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,397 INFO L290 TraceCheckUtils]: 14: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,397 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4175#true} {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} #93#return; {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-20 23:43:32,397 INFO L290 TraceCheckUtils]: 16: Hoare triple {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-20 23:43:32,398 INFO L290 TraceCheckUtils]: 17: Hoare triple {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-20 23:43:32,398 INFO L272 TraceCheckUtils]: 18: Hoare triple {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {4175#true} is VALID [2022-02-20 23:43:32,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,398 INFO L290 TraceCheckUtils]: 21: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,398 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4175#true} {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} #95#return; {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-20 23:43:32,399 INFO L290 TraceCheckUtils]: 23: Hoare triple {4229#(<= |ULTIMATE.start_main_~n~0#1| 1)} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,399 INFO L290 TraceCheckUtils]: 24: Hoare triple {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} assume !!(main_~i~0#1 < main_~n~0#1); {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,400 INFO L290 TraceCheckUtils]: 25: Hoare triple {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,400 INFO L290 TraceCheckUtils]: 26: Hoare triple {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,400 INFO L272 TraceCheckUtils]: 27: Hoare triple {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {4175#true} is VALID [2022-02-20 23:43:32,400 INFO L290 TraceCheckUtils]: 28: Hoare triple {4175#true} ~cond := #in~cond; {4175#true} is VALID [2022-02-20 23:43:32,400 INFO L290 TraceCheckUtils]: 29: Hoare triple {4175#true} assume !(0 == ~cond); {4175#true} is VALID [2022-02-20 23:43:32,400 INFO L290 TraceCheckUtils]: 30: Hoare triple {4175#true} assume true; {4175#true} is VALID [2022-02-20 23:43:32,401 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4175#true} {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} #97#return; {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,401 INFO L290 TraceCheckUtils]: 32: Hoare triple {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,402 INFO L290 TraceCheckUtils]: 33: Hoare triple {4272#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {4303#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} is VALID [2022-02-20 23:43:32,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {4303#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 1))} assume !!(main_~i~0#1 < main_~n~0#1); {4176#false} is VALID [2022-02-20 23:43:32,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {4176#false} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {4176#false} is VALID [2022-02-20 23:43:32,402 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:43:32,402 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:43:32,403 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [971663991] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:32,403 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:43:32,403 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [7] total 11 [2022-02-20 23:43:32,403 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1628904982] [2022-02-20 23:43:32,403 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:32,403 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 36 [2022-02-20 23:43:32,404 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:32,404 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:43:32,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:32,430 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:43:32,430 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:32,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:43:32,431 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:43:32,431 INFO L87 Difference]: Start difference. First operand 49 states and 52 transitions. Second operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:43:32,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:32,606 INFO L93 Difference]: Finished difference Result 69 states and 73 transitions. [2022-02-20 23:43:32,606 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:43:32,606 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 36 [2022-02-20 23:43:32,607 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:32,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:43:32,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-02-20 23:43:32,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:43:32,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-02-20 23:43:32,608 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 66 transitions. [2022-02-20 23:43:32,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:32,651 INFO L225 Difference]: With dead ends: 69 [2022-02-20 23:43:32,651 INFO L226 Difference]: Without dead ends: 69 [2022-02-20 23:43:32,652 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:43:32,652 INFO L933 BasicCegarLoop]: 46 mSDtfsCounter, 35 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:32,652 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 132 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:43:32,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-02-20 23:43:32,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 60. [2022-02-20 23:43:32,654 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:32,654 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 60 states, 46 states have (on average 1.108695652173913) internal successors, (51), 48 states have internal predecessors, (51), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:32,654 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 60 states, 46 states have (on average 1.108695652173913) internal successors, (51), 48 states have internal predecessors, (51), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:32,654 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 60 states, 46 states have (on average 1.108695652173913) internal successors, (51), 48 states have internal predecessors, (51), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:32,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:32,655 INFO L93 Difference]: Finished difference Result 69 states and 73 transitions. [2022-02-20 23:43:32,655 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 73 transitions. [2022-02-20 23:43:32,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:32,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:32,656 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 46 states have (on average 1.108695652173913) internal successors, (51), 48 states have internal predecessors, (51), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 69 states. [2022-02-20 23:43:32,656 INFO L87 Difference]: Start difference. First operand has 60 states, 46 states have (on average 1.108695652173913) internal successors, (51), 48 states have internal predecessors, (51), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 69 states. [2022-02-20 23:43:32,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:32,657 INFO L93 Difference]: Finished difference Result 69 states and 73 transitions. [2022-02-20 23:43:32,657 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 73 transitions. [2022-02-20 23:43:32,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:32,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:32,658 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:32,658 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:32,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 46 states have (on average 1.108695652173913) internal successors, (51), 48 states have internal predecessors, (51), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:32,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 65 transitions. [2022-02-20 23:43:32,659 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 65 transitions. Word has length 36 [2022-02-20 23:43:32,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:32,659 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 65 transitions. [2022-02-20 23:43:32,659 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:43:32,659 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-02-20 23:43:32,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 23:43:32,659 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:32,659 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:32,676 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-20 23:43:32,867 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:32,867 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr13ASSERT_VIOLATIONMEMORY_FREE === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:32,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:32,868 INFO L85 PathProgramCache]: Analyzing trace with hash -656120578, now seen corresponding path program 1 times [2022-02-20 23:43:32,868 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:32,868 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1967496194] [2022-02-20 23:43:32,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:32,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:32,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,907 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:32,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,916 INFO L290 TraceCheckUtils]: 0: Hoare triple {4582#true} ~cond := #in~cond; {4582#true} is VALID [2022-02-20 23:43:32,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {4582#true} assume !(0 == ~cond); {4582#true} is VALID [2022-02-20 23:43:32,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {4582#true} assume true; {4582#true} is VALID [2022-02-20 23:43:32,916 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4582#true} {4582#true} #91#return; {4582#true} is VALID [2022-02-20 23:43:32,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 23:43:32,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,919 INFO L290 TraceCheckUtils]: 0: Hoare triple {4582#true} ~cond := #in~cond; {4582#true} is VALID [2022-02-20 23:43:32,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {4582#true} assume !(0 == ~cond); {4582#true} is VALID [2022-02-20 23:43:32,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {4582#true} assume true; {4582#true} is VALID [2022-02-20 23:43:32,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4582#true} {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} #93#return; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,920 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 23:43:32,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {4582#true} ~cond := #in~cond; {4582#true} is VALID [2022-02-20 23:43:32,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {4582#true} assume !(0 == ~cond); {4582#true} is VALID [2022-02-20 23:43:32,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {4582#true} assume true; {4582#true} is VALID [2022-02-20 23:43:32,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4582#true} {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} #95#return; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,923 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-02-20 23:43:32,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:32,925 INFO L290 TraceCheckUtils]: 0: Hoare triple {4582#true} ~cond := #in~cond; {4582#true} is VALID [2022-02-20 23:43:32,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {4582#true} assume !(0 == ~cond); {4582#true} is VALID [2022-02-20 23:43:32,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {4582#true} assume true; {4582#true} is VALID [2022-02-20 23:43:32,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4582#true} {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} #97#return; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {4582#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {4582#true} is VALID [2022-02-20 23:43:32,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {4582#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {4582#true} is VALID [2022-02-20 23:43:32,926 INFO L272 TraceCheckUtils]: 2: Hoare triple {4582#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {4582#true} is VALID [2022-02-20 23:43:32,926 INFO L290 TraceCheckUtils]: 3: Hoare triple {4582#true} ~cond := #in~cond; {4582#true} is VALID [2022-02-20 23:43:32,926 INFO L290 TraceCheckUtils]: 4: Hoare triple {4582#true} assume !(0 == ~cond); {4582#true} is VALID [2022-02-20 23:43:32,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {4582#true} assume true; {4582#true} is VALID [2022-02-20 23:43:32,927 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4582#true} {4582#true} #91#return; {4582#true} is VALID [2022-02-20 23:43:32,927 INFO L290 TraceCheckUtils]: 7: Hoare triple {4582#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {4588#(<= (+ |ULTIMATE.start_main_#t~malloc6#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,928 INFO L290 TraceCheckUtils]: 8: Hoare triple {4588#(<= (+ |ULTIMATE.start_main_#t~malloc6#1.base| 1) |#StackHeapBarrier|)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,928 INFO L290 TraceCheckUtils]: 9: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume !(main_~x~0#1 < main_~y~0#1); {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,928 INFO L290 TraceCheckUtils]: 10: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,928 INFO L272 TraceCheckUtils]: 11: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {4582#true} is VALID [2022-02-20 23:43:32,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {4582#true} ~cond := #in~cond; {4582#true} is VALID [2022-02-20 23:43:32,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {4582#true} assume !(0 == ~cond); {4582#true} is VALID [2022-02-20 23:43:32,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {4582#true} assume true; {4582#true} is VALID [2022-02-20 23:43:32,929 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4582#true} {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} #93#return; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,929 INFO L290 TraceCheckUtils]: 16: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,929 INFO L290 TraceCheckUtils]: 17: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,929 INFO L272 TraceCheckUtils]: 18: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {4582#true} is VALID [2022-02-20 23:43:32,930 INFO L290 TraceCheckUtils]: 19: Hoare triple {4582#true} ~cond := #in~cond; {4582#true} is VALID [2022-02-20 23:43:32,930 INFO L290 TraceCheckUtils]: 20: Hoare triple {4582#true} assume !(0 == ~cond); {4582#true} is VALID [2022-02-20 23:43:32,930 INFO L290 TraceCheckUtils]: 21: Hoare triple {4582#true} assume true; {4582#true} is VALID [2022-02-20 23:43:32,930 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4582#true} {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} #95#return; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,930 INFO L290 TraceCheckUtils]: 23: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,931 INFO L290 TraceCheckUtils]: 24: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume !!(main_~i~0#1 < main_~n~0#1); {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,935 INFO L290 TraceCheckUtils]: 26: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,935 INFO L272 TraceCheckUtils]: 27: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {4582#true} is VALID [2022-02-20 23:43:32,935 INFO L290 TraceCheckUtils]: 28: Hoare triple {4582#true} ~cond := #in~cond; {4582#true} is VALID [2022-02-20 23:43:32,935 INFO L290 TraceCheckUtils]: 29: Hoare triple {4582#true} assume !(0 == ~cond); {4582#true} is VALID [2022-02-20 23:43:32,935 INFO L290 TraceCheckUtils]: 30: Hoare triple {4582#true} assume true; {4582#true} is VALID [2022-02-20 23:43:32,936 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4582#true} {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} #97#return; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,936 INFO L290 TraceCheckUtils]: 32: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,936 INFO L290 TraceCheckUtils]: 33: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,936 INFO L290 TraceCheckUtils]: 34: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume !(main_~i~0#1 < main_~n~0#1); {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,937 INFO L290 TraceCheckUtils]: 35: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume 0 == main_~a~0#1.offset; {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:43:32,945 INFO L290 TraceCheckUtils]: 36: Hoare triple {4589#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume !(main_~a~0#1.base < #StackHeapBarrier); {4583#false} is VALID [2022-02-20 23:43:32,945 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:43:32,945 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:32,945 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1967496194] [2022-02-20 23:43:32,946 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1967496194] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:32,946 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:32,946 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:43:32,946 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [474919067] [2022-02-20 23:43:32,946 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:32,946 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.666666666666667) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 37 [2022-02-20 23:43:32,946 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:32,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 7.666666666666667) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:32,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:32,965 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:43:32,965 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:32,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:43:32,965 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:43:32,966 INFO L87 Difference]: Start difference. First operand 60 states and 65 transitions. Second operand has 4 states, 3 states have (on average 7.666666666666667) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:33,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:33,037 INFO L93 Difference]: Finished difference Result 59 states and 64 transitions. [2022-02-20 23:43:33,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:43:33,037 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.666666666666667) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 37 [2022-02-20 23:43:33,037 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:33,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.666666666666667) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:33,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 39 transitions. [2022-02-20 23:43:33,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.666666666666667) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:33,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 39 transitions. [2022-02-20 23:43:33,038 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 39 transitions. [2022-02-20 23:43:33,065 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:33,065 INFO L225 Difference]: With dead ends: 59 [2022-02-20 23:43:33,065 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 23:43:33,066 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:43:33,066 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 29 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:33,066 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 44 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:43:33,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 23:43:33,067 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 59. [2022-02-20 23:43:33,067 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:33,068 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 59 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 47 states have internal predecessors, (50), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:33,068 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 59 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 47 states have internal predecessors, (50), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:33,068 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 59 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 47 states have internal predecessors, (50), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:33,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:33,069 INFO L93 Difference]: Finished difference Result 59 states and 64 transitions. [2022-02-20 23:43:33,069 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-02-20 23:43:33,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:33,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:33,069 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 47 states have internal predecessors, (50), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 59 states. [2022-02-20 23:43:33,069 INFO L87 Difference]: Start difference. First operand has 59 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 47 states have internal predecessors, (50), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 59 states. [2022-02-20 23:43:33,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:33,072 INFO L93 Difference]: Finished difference Result 59 states and 64 transitions. [2022-02-20 23:43:33,072 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-02-20 23:43:33,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:33,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:33,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:33,073 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:33,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 47 states have internal predecessors, (50), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:43:33,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-02-20 23:43:33,074 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 37 [2022-02-20 23:43:33,074 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:33,074 INFO L470 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-02-20 23:43:33,075 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 7.666666666666667) internal successors, (23), 4 states have internal predecessors, (23), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:33,075 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-02-20 23:43:33,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 23:43:33,075 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:33,075 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:33,075 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-02-20 23:43:33,076 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr15ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:33,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:33,076 INFO L85 PathProgramCache]: Analyzing trace with hash 828320161, now seen corresponding path program 1 times [2022-02-20 23:43:33,076 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:33,076 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2032161555] [2022-02-20 23:43:33,076 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:33,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:33,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,143 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:33,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {4842#true} ~cond := #in~cond; {4842#true} is VALID [2022-02-20 23:43:33,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {4842#true} assume !(0 == ~cond); {4842#true} is VALID [2022-02-20 23:43:33,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {4842#true} assume true; {4842#true} is VALID [2022-02-20 23:43:33,147 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4842#true} {4844#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} #91#return; {4844#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:43:33,147 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-02-20 23:43:33,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,150 INFO L290 TraceCheckUtils]: 0: Hoare triple {4842#true} ~cond := #in~cond; {4842#true} is VALID [2022-02-20 23:43:33,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {4842#true} assume !(0 == ~cond); {4842#true} is VALID [2022-02-20 23:43:33,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {4842#true} assume true; {4842#true} is VALID [2022-02-20 23:43:33,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4842#true} {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} #93#return; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,151 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 23:43:33,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,153 INFO L290 TraceCheckUtils]: 0: Hoare triple {4842#true} ~cond := #in~cond; {4842#true} is VALID [2022-02-20 23:43:33,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {4842#true} assume !(0 == ~cond); {4842#true} is VALID [2022-02-20 23:43:33,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {4842#true} assume true; {4842#true} is VALID [2022-02-20 23:43:33,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4842#true} {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} #95#return; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,154 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-02-20 23:43:33,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,156 INFO L290 TraceCheckUtils]: 0: Hoare triple {4842#true} ~cond := #in~cond; {4842#true} is VALID [2022-02-20 23:43:33,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {4842#true} assume !(0 == ~cond); {4842#true} is VALID [2022-02-20 23:43:33,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {4842#true} assume true; {4842#true} is VALID [2022-02-20 23:43:33,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4842#true} {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} #97#return; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,157 INFO L290 TraceCheckUtils]: 0: Hoare triple {4842#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {4842#true} is VALID [2022-02-20 23:43:33,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {4842#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {4844#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:43:33,158 INFO L272 TraceCheckUtils]: 2: Hoare triple {4844#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {4842#true} is VALID [2022-02-20 23:43:33,158 INFO L290 TraceCheckUtils]: 3: Hoare triple {4842#true} ~cond := #in~cond; {4842#true} is VALID [2022-02-20 23:43:33,158 INFO L290 TraceCheckUtils]: 4: Hoare triple {4842#true} assume !(0 == ~cond); {4842#true} is VALID [2022-02-20 23:43:33,158 INFO L290 TraceCheckUtils]: 5: Hoare triple {4842#true} assume true; {4842#true} is VALID [2022-02-20 23:43:33,158 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4842#true} {4844#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} #91#return; {4844#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:43:33,159 INFO L290 TraceCheckUtils]: 7: Hoare triple {4844#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {4849#(= (store |#valid| |ULTIMATE.start_main_#t~malloc6#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {4849#(= (store |#valid| |ULTIMATE.start_main_#t~malloc6#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,160 INFO L290 TraceCheckUtils]: 9: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !(main_~x~0#1 < main_~y~0#1); {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,160 INFO L290 TraceCheckUtils]: 10: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,160 INFO L272 TraceCheckUtils]: 11: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {4842#true} is VALID [2022-02-20 23:43:33,160 INFO L290 TraceCheckUtils]: 12: Hoare triple {4842#true} ~cond := #in~cond; {4842#true} is VALID [2022-02-20 23:43:33,160 INFO L290 TraceCheckUtils]: 13: Hoare triple {4842#true} assume !(0 == ~cond); {4842#true} is VALID [2022-02-20 23:43:33,160 INFO L290 TraceCheckUtils]: 14: Hoare triple {4842#true} assume true; {4842#true} is VALID [2022-02-20 23:43:33,161 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4842#true} {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} #93#return; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,161 INFO L290 TraceCheckUtils]: 16: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,161 INFO L290 TraceCheckUtils]: 17: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,161 INFO L272 TraceCheckUtils]: 18: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {4842#true} is VALID [2022-02-20 23:43:33,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {4842#true} ~cond := #in~cond; {4842#true} is VALID [2022-02-20 23:43:33,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {4842#true} assume !(0 == ~cond); {4842#true} is VALID [2022-02-20 23:43:33,161 INFO L290 TraceCheckUtils]: 21: Hoare triple {4842#true} assume true; {4842#true} is VALID [2022-02-20 23:43:33,162 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4842#true} {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} #95#return; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,162 INFO L290 TraceCheckUtils]: 23: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,162 INFO L290 TraceCheckUtils]: 24: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !!(main_~i~0#1 < main_~n~0#1); {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,163 INFO L290 TraceCheckUtils]: 25: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,163 INFO L290 TraceCheckUtils]: 26: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,163 INFO L272 TraceCheckUtils]: 27: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {4842#true} is VALID [2022-02-20 23:43:33,163 INFO L290 TraceCheckUtils]: 28: Hoare triple {4842#true} ~cond := #in~cond; {4842#true} is VALID [2022-02-20 23:43:33,163 INFO L290 TraceCheckUtils]: 29: Hoare triple {4842#true} assume !(0 == ~cond); {4842#true} is VALID [2022-02-20 23:43:33,163 INFO L290 TraceCheckUtils]: 30: Hoare triple {4842#true} assume true; {4842#true} is VALID [2022-02-20 23:43:33,164 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4842#true} {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} #97#return; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,164 INFO L290 TraceCheckUtils]: 32: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,164 INFO L290 TraceCheckUtils]: 33: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,164 INFO L290 TraceCheckUtils]: 34: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !(main_~i~0#1 < main_~n~0#1); {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,165 INFO L290 TraceCheckUtils]: 35: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume 0 == main_~a~0#1.offset; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,165 INFO L290 TraceCheckUtils]: 36: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume main_~a~0#1.base < #StackHeapBarrier; {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:43:33,165 INFO L290 TraceCheckUtils]: 37: Hoare triple {4850#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume 0 == main_~a~0#1.base || 1 == #valid[main_~a~0#1.base];call ULTIMATE.dealloc(main_~a~0#1.base, main_~a~0#1.offset);main_#res#1 := main_~x~0#1; {4844#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:43:33,166 INFO L290 TraceCheckUtils]: 38: Hoare triple {4844#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !(#valid == main_old_#valid#1); {4843#false} is VALID [2022-02-20 23:43:33,166 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:43:33,166 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:33,166 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2032161555] [2022-02-20 23:43:33,166 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2032161555] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:43:33,166 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:43:33,166 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:43:33,166 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1828099745] [2022-02-20 23:43:33,166 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:43:33,167 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 6.25) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 39 [2022-02-20 23:43:33,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:33,167 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 6.25) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:33,189 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:33,189 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:43:33,189 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:33,190 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:43:33,190 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:43:33,190 INFO L87 Difference]: Start difference. First operand 59 states and 64 transitions. Second operand has 5 states, 4 states have (on average 6.25) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:33,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:33,290 INFO L93 Difference]: Finished difference Result 58 states and 63 transitions. [2022-02-20 23:43:33,290 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:43:33,290 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 6.25) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 39 [2022-02-20 23:43:33,290 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:33,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 6.25) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:33,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 38 transitions. [2022-02-20 23:43:33,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 6.25) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:33,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 38 transitions. [2022-02-20 23:43:33,291 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 38 transitions. [2022-02-20 23:43:33,320 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:33,321 INFO L225 Difference]: With dead ends: 58 [2022-02-20 23:43:33,321 INFO L226 Difference]: Without dead ends: 41 [2022-02-20 23:43:33,321 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:43:33,322 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 24 mSDsluCounter, 28 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 54 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:33,322 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 54 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:43:33,322 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-02-20 23:43:33,323 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2022-02-20 23:43:33,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:33,323 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 41 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:33,323 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 41 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:33,324 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 41 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:33,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:33,324 INFO L93 Difference]: Finished difference Result 41 states and 42 transitions. [2022-02-20 23:43:33,324 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2022-02-20 23:43:33,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:33,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:33,325 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 41 states. [2022-02-20 23:43:33,325 INFO L87 Difference]: Start difference. First operand has 41 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 41 states. [2022-02-20 23:43:33,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:33,325 INFO L93 Difference]: Finished difference Result 41 states and 42 transitions. [2022-02-20 23:43:33,325 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2022-02-20 23:43:33,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:33,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:33,325 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:33,325 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:33,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:43:33,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 42 transitions. [2022-02-20 23:43:33,331 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 42 transitions. Word has length 39 [2022-02-20 23:43:33,331 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:33,331 INFO L470 AbstractCegarLoop]: Abstraction has 41 states and 42 transitions. [2022-02-20 23:43:33,331 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 6.25) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:43:33,331 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2022-02-20 23:43:33,331 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 23:43:33,331 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:33,332 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:33,332 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-02-20 23:43:33,332 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:33,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:33,332 INFO L85 PathProgramCache]: Analyzing trace with hash -1506530066, now seen corresponding path program 1 times [2022-02-20 23:43:33,332 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:33,332 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [884597654] [2022-02-20 23:43:33,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:33,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:33,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,436 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:33,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,439 INFO L290 TraceCheckUtils]: 0: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:33,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:33,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:33,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5050#true} {5050#true} #91#return; {5050#true} is VALID [2022-02-20 23:43:33,439 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-02-20 23:43:33,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,442 INFO L290 TraceCheckUtils]: 0: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:33,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:33,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:33,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5050#true} {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #93#return; {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-02-20 23:43:33,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,446 INFO L290 TraceCheckUtils]: 0: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:33,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:33,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:33,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5050#true} {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #95#return; {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,447 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 23:43:33,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,449 INFO L290 TraceCheckUtils]: 0: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:33,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:33,450 INFO L290 TraceCheckUtils]: 2: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:33,450 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5050#true} {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #97#return; {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,450 INFO L290 TraceCheckUtils]: 0: Hoare triple {5050#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {5050#true} is VALID [2022-02-20 23:43:33,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {5050#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {5050#true} is VALID [2022-02-20 23:43:33,450 INFO L272 TraceCheckUtils]: 2: Hoare triple {5050#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {5050#true} is VALID [2022-02-20 23:43:33,450 INFO L290 TraceCheckUtils]: 3: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:33,450 INFO L290 TraceCheckUtils]: 4: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:33,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:33,451 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {5050#true} {5050#true} #91#return; {5050#true} is VALID [2022-02-20 23:43:33,451 INFO L290 TraceCheckUtils]: 7: Hoare triple {5050#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {5056#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} is VALID [2022-02-20 23:43:33,451 INFO L290 TraceCheckUtils]: 8: Hoare triple {5056#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {5057#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:33,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {5057#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !!(main_~x~0#1 < main_~y~0#1); {5058#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:33,452 INFO L290 TraceCheckUtils]: 10: Hoare triple {5058#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {5058#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:33,453 INFO L290 TraceCheckUtils]: 11: Hoare triple {5058#(and (<= (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {5059#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:33,453 INFO L290 TraceCheckUtils]: 12: Hoare triple {5059#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~x~0#1| 4) 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(main_~x~0#1 < main_~y~0#1); {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,454 INFO L290 TraceCheckUtils]: 14: Hoare triple {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,454 INFO L272 TraceCheckUtils]: 15: Hoare triple {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {5050#true} is VALID [2022-02-20 23:43:33,454 INFO L290 TraceCheckUtils]: 16: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:33,454 INFO L290 TraceCheckUtils]: 17: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:33,454 INFO L290 TraceCheckUtils]: 18: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:33,455 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5050#true} {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #93#return; {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,455 INFO L290 TraceCheckUtils]: 21: Hoare triple {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,455 INFO L272 TraceCheckUtils]: 22: Hoare triple {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {5050#true} is VALID [2022-02-20 23:43:33,455 INFO L290 TraceCheckUtils]: 23: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:33,456 INFO L290 TraceCheckUtils]: 24: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:33,456 INFO L290 TraceCheckUtils]: 25: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:33,456 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5050#true} {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #95#return; {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,456 INFO L290 TraceCheckUtils]: 27: Hoare triple {5060#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,457 INFO L290 TraceCheckUtils]: 28: Hoare triple {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~i~0#1 < main_~n~0#1); {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,457 INFO L290 TraceCheckUtils]: 29: Hoare triple {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,458 INFO L290 TraceCheckUtils]: 30: Hoare triple {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,458 INFO L272 TraceCheckUtils]: 31: Hoare triple {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {5050#true} is VALID [2022-02-20 23:43:33,458 INFO L290 TraceCheckUtils]: 32: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:33,458 INFO L290 TraceCheckUtils]: 33: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:33,458 INFO L290 TraceCheckUtils]: 34: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:33,458 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5050#true} {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #97#return; {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,459 INFO L290 TraceCheckUtils]: 36: Hoare triple {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,459 INFO L290 TraceCheckUtils]: 37: Hoare triple {5069#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5074#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,459 INFO L290 TraceCheckUtils]: 38: Hoare triple {5074#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~i~0#1 < main_~n~0#1); {5074#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:33,460 INFO L290 TraceCheckUtils]: 39: Hoare triple {5074#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {5051#false} is VALID [2022-02-20 23:43:33,460 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:43:33,460 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:33,460 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [884597654] [2022-02-20 23:43:33,460 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [884597654] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:43:33,460 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1505952697] [2022-02-20 23:43:33,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:33,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:33,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:43:33,462 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:43:33,462 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 23:43:33,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,504 INFO L263 TraceCheckSpWp]: Trace formula consists of 149 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:43:33,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:33,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:43:34,986 INFO L290 TraceCheckUtils]: 0: Hoare triple {5050#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {5050#true} is VALID [2022-02-20 23:43:34,987 INFO L290 TraceCheckUtils]: 1: Hoare triple {5050#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {5050#true} is VALID [2022-02-20 23:43:34,987 INFO L272 TraceCheckUtils]: 2: Hoare triple {5050#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {5050#true} is VALID [2022-02-20 23:43:34,987 INFO L290 TraceCheckUtils]: 3: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:34,987 INFO L290 TraceCheckUtils]: 4: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:34,987 INFO L290 TraceCheckUtils]: 5: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:34,987 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {5050#true} {5050#true} #91#return; {5050#true} is VALID [2022-02-20 23:43:34,988 INFO L290 TraceCheckUtils]: 7: Hoare triple {5050#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {5099#(<= 0 |ULTIMATE.start_main_#t~malloc6#1.offset|)} is VALID [2022-02-20 23:43:34,988 INFO L290 TraceCheckUtils]: 8: Hoare triple {5099#(<= 0 |ULTIMATE.start_main_#t~malloc6#1.offset|)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {5103#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 23:43:34,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {5103#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~x~0#1|))} assume !!(main_~x~0#1 < main_~y~0#1); {5107#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< 0 |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 23:43:34,989 INFO L290 TraceCheckUtils]: 10: Hoare triple {5107#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< 0 |ULTIMATE.start_main_~y~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {5107#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< 0 |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 23:43:34,992 INFO L290 TraceCheckUtils]: 11: Hoare triple {5107#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (< 0 |ULTIMATE.start_main_~y~0#1|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:34,993 INFO L290 TraceCheckUtils]: 12: Hoare triple {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:34,993 INFO L290 TraceCheckUtils]: 13: Hoare triple {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(main_~x~0#1 < main_~y~0#1); {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:34,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:34,995 INFO L272 TraceCheckUtils]: 15: Hoare triple {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:34,995 INFO L290 TraceCheckUtils]: 16: Hoare triple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} ~cond := #in~cond; {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:34,995 INFO L290 TraceCheckUtils]: 17: Hoare triple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} assume !(0 == ~cond); {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:34,996 INFO L290 TraceCheckUtils]: 18: Hoare triple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} assume true; {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:34,996 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} #93#return; {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:34,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:34,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:34,998 INFO L272 TraceCheckUtils]: 22: Hoare triple {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:34,999 INFO L290 TraceCheckUtils]: 23: Hoare triple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} ~cond := #in~cond; {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:34,999 INFO L290 TraceCheckUtils]: 24: Hoare triple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} assume !(0 == ~cond); {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:34,999 INFO L290 TraceCheckUtils]: 25: Hoare triple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} assume true; {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:35,000 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} #95#return; {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:35,002 INFO L290 TraceCheckUtils]: 27: Hoare triple {5114#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:35,003 INFO L290 TraceCheckUtils]: 28: Hoare triple {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_~i~0#1 < main_~n~0#1); {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:35,004 INFO L290 TraceCheckUtils]: 29: Hoare triple {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:35,004 INFO L290 TraceCheckUtils]: 30: Hoare triple {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:35,005 INFO L272 TraceCheckUtils]: 31: Hoare triple {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:35,005 INFO L290 TraceCheckUtils]: 32: Hoare triple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} ~cond := #in~cond; {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:35,011 INFO L290 TraceCheckUtils]: 33: Hoare triple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} assume !(0 == ~cond); {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:35,012 INFO L290 TraceCheckUtils]: 34: Hoare triple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} assume true; {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} is VALID [2022-02-20 23:43:35,012 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5127#(exists ((|v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2| Int) (|aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| Int)) (and (<= (+ (* |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148| 4) 4) (select |#length| |v_ULTIMATE.start_main_~a~0#1.base_BEFORE_CALL_2|)) (< 0 |aux_div_v_ULTIMATE.start_main_~a~0#1.offset_BEFORE_CALL_2_148|)))} {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} #97#return; {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:35,013 INFO L290 TraceCheckUtils]: 36: Hoare triple {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:35,013 INFO L290 TraceCheckUtils]: 37: Hoare triple {5164#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5195#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:35,014 INFO L290 TraceCheckUtils]: 38: Hoare triple {5195#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_~i~0#1 < main_~n~0#1); {5195#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:43:35,014 INFO L290 TraceCheckUtils]: 39: Hoare triple {5195#(and (< 0 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= 0 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {5051#false} is VALID [2022-02-20 23:43:35,015 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:43:35,015 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:43:35,253 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2022-02-20 23:43:35,379 INFO L290 TraceCheckUtils]: 39: Hoare triple {5202#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {5051#false} is VALID [2022-02-20 23:43:35,380 INFO L290 TraceCheckUtils]: 38: Hoare triple {5202#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} assume !!(main_~i~0#1 < main_~n~0#1); {5202#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 23:43:35,381 INFO L290 TraceCheckUtils]: 37: Hoare triple {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5202#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 23:43:35,381 INFO L290 TraceCheckUtils]: 36: Hoare triple {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:35,382 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5050#true} {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #97#return; {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:35,382 INFO L290 TraceCheckUtils]: 34: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:35,382 INFO L290 TraceCheckUtils]: 33: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:35,382 INFO L290 TraceCheckUtils]: 32: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:35,382 INFO L272 TraceCheckUtils]: 31: Hoare triple {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {5050#true} is VALID [2022-02-20 23:43:35,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:35,383 INFO L290 TraceCheckUtils]: 29: Hoare triple {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:35,383 INFO L290 TraceCheckUtils]: 28: Hoare triple {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~i~0#1 < main_~n~0#1); {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:35,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {5209#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:35,384 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5050#true} {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} #95#return; {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:35,384 INFO L290 TraceCheckUtils]: 24: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:35,384 INFO L290 TraceCheckUtils]: 23: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:35,384 INFO L272 TraceCheckUtils]: 22: Hoare triple {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {5050#true} is VALID [2022-02-20 23:43:35,385 INFO L290 TraceCheckUtils]: 21: Hoare triple {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,385 INFO L290 TraceCheckUtils]: 20: Hoare triple {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,386 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5050#true} {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} #93#return; {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:35,386 INFO L290 TraceCheckUtils]: 17: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:35,386 INFO L290 TraceCheckUtils]: 16: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:35,386 INFO L272 TraceCheckUtils]: 15: Hoare triple {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {5050#true} is VALID [2022-02-20 23:43:35,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,387 INFO L290 TraceCheckUtils]: 13: Hoare triple {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} assume !(main_~x~0#1 < main_~y~0#1); {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,387 INFO L290 TraceCheckUtils]: 12: Hoare triple {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,388 INFO L290 TraceCheckUtils]: 11: Hoare triple {5289#(and (<= 4 (* |ULTIMATE.start_main_~y~0#1| 4)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {5240#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,388 INFO L290 TraceCheckUtils]: 10: Hoare triple {5289#(and (<= 4 (* |ULTIMATE.start_main_~y~0#1| 4)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {5289#(and (<= 4 (* |ULTIMATE.start_main_~y~0#1| 4)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {5296#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} assume !!(main_~x~0#1 < main_~y~0#1); {5289#(and (<= 4 (* |ULTIMATE.start_main_~y~0#1| 4)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {5300#(<= 0 (+ |ULTIMATE.start_main_#t~malloc6#1.offset| 4))} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {5296#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:43:35,389 INFO L290 TraceCheckUtils]: 7: Hoare triple {5050#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {5300#(<= 0 (+ |ULTIMATE.start_main_#t~malloc6#1.offset| 4))} is VALID [2022-02-20 23:43:35,389 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {5050#true} {5050#true} #91#return; {5050#true} is VALID [2022-02-20 23:43:35,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {5050#true} assume true; {5050#true} is VALID [2022-02-20 23:43:35,390 INFO L290 TraceCheckUtils]: 4: Hoare triple {5050#true} assume !(0 == ~cond); {5050#true} is VALID [2022-02-20 23:43:35,390 INFO L290 TraceCheckUtils]: 3: Hoare triple {5050#true} ~cond := #in~cond; {5050#true} is VALID [2022-02-20 23:43:35,390 INFO L272 TraceCheckUtils]: 2: Hoare triple {5050#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {5050#true} is VALID [2022-02-20 23:43:35,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {5050#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {5050#true} is VALID [2022-02-20 23:43:35,390 INFO L290 TraceCheckUtils]: 0: Hoare triple {5050#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {5050#true} is VALID [2022-02-20 23:43:35,390 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:43:35,390 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1505952697] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:43:35,390 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:43:35,390 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 7] total 21 [2022-02-20 23:43:35,390 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1377065352] [2022-02-20 23:43:35,390 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:43:35,392 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 3.238095238095238) internal successors, (68), 22 states have internal predecessors, (68), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) Word has length 40 [2022-02-20 23:43:35,392 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:35,395 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 22 states, 21 states have (on average 3.238095238095238) internal successors, (68), 22 states have internal predecessors, (68), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-02-20 23:43:35,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:35,461 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-02-20 23:43:35,461 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:35,461 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-02-20 23:43:35,462 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=376, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:43:35,462 INFO L87 Difference]: Start difference. First operand 41 states and 42 transitions. Second operand has 22 states, 21 states have (on average 3.238095238095238) internal successors, (68), 22 states have internal predecessors, (68), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-02-20 23:43:36,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:36,324 INFO L93 Difference]: Finished difference Result 87 states and 95 transitions. [2022-02-20 23:43:36,325 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-02-20 23:43:36,325 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 3.238095238095238) internal successors, (68), 22 states have internal predecessors, (68), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) Word has length 40 [2022-02-20 23:43:36,325 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:36,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 3.238095238095238) internal successors, (68), 22 states have internal predecessors, (68), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-02-20 23:43:36,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2022-02-20 23:43:36,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 3.238095238095238) internal successors, (68), 22 states have internal predecessors, (68), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-02-20 23:43:36,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2022-02-20 23:43:36,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 94 transitions. [2022-02-20 23:43:36,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:36,415 INFO L225 Difference]: With dead ends: 87 [2022-02-20 23:43:36,415 INFO L226 Difference]: Without dead ends: 87 [2022-02-20 23:43:36,416 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 108 GetRequests, 71 SyntacticMatches, 5 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 298 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=238, Invalid=884, Unknown=0, NotChecked=0, Total=1122 [2022-02-20 23:43:36,416 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 151 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 152 SdHoareTripleChecker+Valid, 218 SdHoareTripleChecker+Invalid, 346 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 278 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 16 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:36,416 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [152 Valid, 218 Invalid, 346 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 278 Invalid, 0 Unknown, 16 Unchecked, 0.3s Time] [2022-02-20 23:43:36,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-02-20 23:43:36,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 51. [2022-02-20 23:43:36,418 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:36,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 51 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:36,418 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 51 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:36,418 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 51 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:36,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:36,419 INFO L93 Difference]: Finished difference Result 87 states and 95 transitions. [2022-02-20 23:43:36,419 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 95 transitions. [2022-02-20 23:43:36,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:36,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:36,420 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 87 states. [2022-02-20 23:43:36,420 INFO L87 Difference]: Start difference. First operand has 51 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 87 states. [2022-02-20 23:43:36,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:36,423 INFO L93 Difference]: Finished difference Result 87 states and 95 transitions. [2022-02-20 23:43:36,423 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 95 transitions. [2022-02-20 23:43:36,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:36,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:36,423 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:36,423 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:36,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:36,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 52 transitions. [2022-02-20 23:43:36,424 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 52 transitions. Word has length 40 [2022-02-20 23:43:36,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:36,425 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 52 transitions. [2022-02-20 23:43:36,425 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 21 states have (on average 3.238095238095238) internal successors, (68), 22 states have internal predecessors, (68), 7 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-02-20 23:43:36,425 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 52 transitions. [2022-02-20 23:43:36,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-02-20 23:43:36,425 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:36,425 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:36,442 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:43:36,639 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-02-20 23:43:36,639 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:36,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:36,640 INFO L85 PathProgramCache]: Analyzing trace with hash 1296254220, now seen corresponding path program 2 times [2022-02-20 23:43:36,640 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:36,640 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [850787958] [2022-02-20 23:43:36,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:36,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:36,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:36,708 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:36,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:36,713 INFO L290 TraceCheckUtils]: 0: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5662#true} {5662#true} #91#return; {5662#true} is VALID [2022-02-20 23:43:36,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-02-20 23:43:36,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:36,717 INFO L290 TraceCheckUtils]: 0: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,718 INFO L290 TraceCheckUtils]: 1: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,732 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5662#true} {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} #93#return; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:36,732 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-02-20 23:43:36,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:36,734 INFO L290 TraceCheckUtils]: 0: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,735 INFO L290 TraceCheckUtils]: 1: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,735 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5662#true} {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} #95#return; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:36,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 23:43:36,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:36,737 INFO L290 TraceCheckUtils]: 0: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5662#true} {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} #97#return; {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:36,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 41 [2022-02-20 23:43:36,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:36,740 INFO L290 TraceCheckUtils]: 0: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5662#true} {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} #97#return; {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:36,741 INFO L290 TraceCheckUtils]: 0: Hoare triple {5662#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {5662#true} is VALID [2022-02-20 23:43:36,741 INFO L290 TraceCheckUtils]: 1: Hoare triple {5662#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {5662#true} is VALID [2022-02-20 23:43:36,741 INFO L272 TraceCheckUtils]: 2: Hoare triple {5662#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:36,741 INFO L290 TraceCheckUtils]: 3: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,741 INFO L290 TraceCheckUtils]: 4: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,741 INFO L290 TraceCheckUtils]: 5: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,741 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {5662#true} {5662#true} #91#return; {5662#true} is VALID [2022-02-20 23:43:36,741 INFO L290 TraceCheckUtils]: 7: Hoare triple {5662#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {5662#true} is VALID [2022-02-20 23:43:36,741 INFO L290 TraceCheckUtils]: 8: Hoare triple {5662#true} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {5668#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:36,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {5668#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !!(main_~x~0#1 < main_~y~0#1); {5668#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:36,742 INFO L290 TraceCheckUtils]: 10: Hoare triple {5668#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {5668#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:36,743 INFO L290 TraceCheckUtils]: 11: Hoare triple {5668#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {5668#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:36,743 INFO L290 TraceCheckUtils]: 12: Hoare triple {5668#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {5669#(<= (+ |ULTIMATE.start_main_~n~0#1| |ULTIMATE.start_main_~x~0#1|) (+ 2 |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 23:43:36,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {5669#(<= (+ |ULTIMATE.start_main_~n~0#1| |ULTIMATE.start_main_~x~0#1|) (+ 2 |ULTIMATE.start_main_~y~0#1|))} assume !(main_~x~0#1 < main_~y~0#1); {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:36,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:36,744 INFO L272 TraceCheckUtils]: 15: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:36,744 INFO L290 TraceCheckUtils]: 16: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,744 INFO L290 TraceCheckUtils]: 17: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,744 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5662#true} {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} #93#return; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:36,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:36,745 INFO L290 TraceCheckUtils]: 21: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:36,745 INFO L272 TraceCheckUtils]: 22: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:36,745 INFO L290 TraceCheckUtils]: 23: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,745 INFO L290 TraceCheckUtils]: 24: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,745 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5662#true} {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} #95#return; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:36,745 INFO L290 TraceCheckUtils]: 27: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:36,746 INFO L290 TraceCheckUtils]: 28: Hoare triple {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} assume !!(main_~i~0#1 < main_~n~0#1); {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:36,746 INFO L290 TraceCheckUtils]: 29: Hoare triple {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:36,747 INFO L290 TraceCheckUtils]: 30: Hoare triple {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:36,747 INFO L272 TraceCheckUtils]: 31: Hoare triple {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:36,747 INFO L290 TraceCheckUtils]: 32: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,747 INFO L290 TraceCheckUtils]: 33: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,747 INFO L290 TraceCheckUtils]: 34: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,747 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5662#true} {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} #97#return; {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:36,748 INFO L290 TraceCheckUtils]: 36: Hoare triple {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:36,748 INFO L290 TraceCheckUtils]: 37: Hoare triple {5679#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~n~0#1| 2))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:36,748 INFO L290 TraceCheckUtils]: 38: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~n~0#1); {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:36,748 INFO L290 TraceCheckUtils]: 39: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:36,749 INFO L290 TraceCheckUtils]: 40: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:36,749 INFO L272 TraceCheckUtils]: 41: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:36,749 INFO L290 TraceCheckUtils]: 42: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:36,749 INFO L290 TraceCheckUtils]: 43: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:36,749 INFO L290 TraceCheckUtils]: 44: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:36,749 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5662#true} {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} #97#return; {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:36,749 INFO L290 TraceCheckUtils]: 46: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:36,750 INFO L290 TraceCheckUtils]: 47: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5689#(<= |ULTIMATE.start_main_~n~0#1| |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:36,750 INFO L290 TraceCheckUtils]: 48: Hoare triple {5689#(<= |ULTIMATE.start_main_~n~0#1| |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~n~0#1); {5663#false} is VALID [2022-02-20 23:43:36,750 INFO L290 TraceCheckUtils]: 49: Hoare triple {5663#false} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {5663#false} is VALID [2022-02-20 23:43:36,750 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 3 proven. 8 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 23:43:36,751 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:36,751 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [850787958] [2022-02-20 23:43:36,751 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [850787958] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:43:36,751 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1679651831] [2022-02-20 23:43:36,751 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:43:36,751 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:36,751 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:43:36,752 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:43:36,753 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 23:43:36,809 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:43:36,810 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:43:36,810 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:43:36,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:36,820 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:43:37,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {5662#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {5662#true} is VALID [2022-02-20 23:43:37,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {5662#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {5662#true} is VALID [2022-02-20 23:43:37,132 INFO L272 TraceCheckUtils]: 2: Hoare triple {5662#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,132 INFO L290 TraceCheckUtils]: 3: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,133 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {5662#true} {5662#true} #91#return; {5662#true} is VALID [2022-02-20 23:43:37,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {5662#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {5662#true} is VALID [2022-02-20 23:43:37,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {5662#true} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {5717#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:37,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {5717#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} assume !!(main_~x~0#1 < main_~y~0#1); {5717#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:37,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {5717#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {5717#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:37,135 INFO L290 TraceCheckUtils]: 11: Hoare triple {5717#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {5717#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:37,135 INFO L290 TraceCheckUtils]: 12: Hoare triple {5717#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 0))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {5730#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 23:43:37,136 INFO L290 TraceCheckUtils]: 13: Hoare triple {5730#(and (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1)) (<= |ULTIMATE.start_main_~x~0#1| 1))} assume !(main_~x~0#1 < main_~y~0#1); {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,136 INFO L290 TraceCheckUtils]: 14: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,136 INFO L272 TraceCheckUtils]: 15: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,136 INFO L290 TraceCheckUtils]: 16: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,136 INFO L290 TraceCheckUtils]: 17: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,136 INFO L290 TraceCheckUtils]: 18: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,137 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5662#true} {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} #93#return; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,137 INFO L272 TraceCheckUtils]: 22: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,137 INFO L290 TraceCheckUtils]: 23: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,138 INFO L290 TraceCheckUtils]: 25: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,142 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5662#true} {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} #95#return; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,142 INFO L290 TraceCheckUtils]: 27: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,142 INFO L290 TraceCheckUtils]: 28: Hoare triple {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~n~0#1); {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,143 INFO L290 TraceCheckUtils]: 29: Hoare triple {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,143 INFO L290 TraceCheckUtils]: 30: Hoare triple {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,143 INFO L272 TraceCheckUtils]: 31: Hoare triple {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,143 INFO L290 TraceCheckUtils]: 32: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,144 INFO L290 TraceCheckUtils]: 33: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,144 INFO L290 TraceCheckUtils]: 34: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,144 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5662#true} {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} #97#return; {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,144 INFO L290 TraceCheckUtils]: 36: Hoare triple {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,145 INFO L290 TraceCheckUtils]: 37: Hoare triple {5776#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,146 INFO L290 TraceCheckUtils]: 38: Hoare triple {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~n~0#1); {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,146 INFO L290 TraceCheckUtils]: 39: Hoare triple {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,147 INFO L290 TraceCheckUtils]: 40: Hoare triple {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,147 INFO L272 TraceCheckUtils]: 41: Hoare triple {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,147 INFO L290 TraceCheckUtils]: 42: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,147 INFO L290 TraceCheckUtils]: 43: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,147 INFO L290 TraceCheckUtils]: 44: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,148 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5662#true} {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} #97#return; {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,148 INFO L290 TraceCheckUtils]: 46: Hoare triple {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,148 INFO L290 TraceCheckUtils]: 47: Hoare triple {5807#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 1 |ULTIMATE.start_main_~i~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5838#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,149 INFO L290 TraceCheckUtils]: 48: Hoare triple {5838#(and (<= |ULTIMATE.start_main_~n~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~n~0#1); {5663#false} is VALID [2022-02-20 23:43:37,149 INFO L290 TraceCheckUtils]: 49: Hoare triple {5663#false} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {5663#false} is VALID [2022-02-20 23:43:37,149 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 23:43:37,149 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:43:37,386 INFO L290 TraceCheckUtils]: 49: Hoare triple {5663#false} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {5663#false} is VALID [2022-02-20 23:43:37,387 INFO L290 TraceCheckUtils]: 48: Hoare triple {5689#(<= |ULTIMATE.start_main_~n~0#1| |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~n~0#1); {5663#false} is VALID [2022-02-20 23:43:37,387 INFO L290 TraceCheckUtils]: 47: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5689#(<= |ULTIMATE.start_main_~n~0#1| |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:43:37,388 INFO L290 TraceCheckUtils]: 46: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:37,388 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5662#true} {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} #97#return; {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:37,388 INFO L290 TraceCheckUtils]: 44: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,388 INFO L290 TraceCheckUtils]: 43: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,388 INFO L290 TraceCheckUtils]: 42: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,388 INFO L272 TraceCheckUtils]: 41: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,389 INFO L290 TraceCheckUtils]: 40: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:37,389 INFO L290 TraceCheckUtils]: 39: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:37,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~n~0#1); {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:37,390 INFO L290 TraceCheckUtils]: 37: Hoare triple {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5684#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:43:37,390 INFO L290 TraceCheckUtils]: 36: Hoare triple {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,390 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5662#true} {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} #97#return; {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,390 INFO L290 TraceCheckUtils]: 34: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,390 INFO L290 TraceCheckUtils]: 33: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,390 INFO L290 TraceCheckUtils]: 32: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,391 INFO L272 TraceCheckUtils]: 31: Hoare triple {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,391 INFO L290 TraceCheckUtils]: 30: Hoare triple {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,391 INFO L290 TraceCheckUtils]: 29: Hoare triple {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,391 INFO L290 TraceCheckUtils]: 28: Hoare triple {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~n~0#1); {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {5881#(<= |ULTIMATE.start_main_~n~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:37,392 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5662#true} {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} #95#return; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,392 INFO L290 TraceCheckUtils]: 25: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,392 INFO L290 TraceCheckUtils]: 24: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,392 INFO L290 TraceCheckUtils]: 23: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,392 INFO L272 TraceCheckUtils]: 22: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,393 INFO L290 TraceCheckUtils]: 21: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,393 INFO L290 TraceCheckUtils]: 20: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,393 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5662#true} {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} #93#return; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,393 INFO L290 TraceCheckUtils]: 18: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,393 INFO L290 TraceCheckUtils]: 17: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,394 INFO L290 TraceCheckUtils]: 16: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,394 INFO L272 TraceCheckUtils]: 15: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,394 INFO L290 TraceCheckUtils]: 14: Hoare triple {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {5954#(or (<= |ULTIMATE.start_main_~n~0#1| 2) (< |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~y~0#1|))} assume !(main_~x~0#1 < main_~y~0#1); {5670#(<= |ULTIMATE.start_main_~n~0#1| 2)} is VALID [2022-02-20 23:43:37,395 INFO L290 TraceCheckUtils]: 12: Hoare triple {5958#(or (< (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 2))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {5954#(or (<= |ULTIMATE.start_main_~n~0#1| 2) (< |ULTIMATE.start_main_~x~0#1| |ULTIMATE.start_main_~y~0#1|))} is VALID [2022-02-20 23:43:37,395 INFO L290 TraceCheckUtils]: 11: Hoare triple {5958#(or (< (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 2))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {5958#(or (< (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:37,395 INFO L290 TraceCheckUtils]: 10: Hoare triple {5958#(or (< (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 2))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {5958#(or (< (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:37,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {5958#(or (< (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 2))} assume !!(main_~x~0#1 < main_~y~0#1); {5958#(or (< (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:37,396 INFO L290 TraceCheckUtils]: 8: Hoare triple {5662#true} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {5958#(or (< (+ |ULTIMATE.start_main_~x~0#1| 1) |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~n~0#1| 2))} is VALID [2022-02-20 23:43:37,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {5662#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {5662#true} is VALID [2022-02-20 23:43:37,396 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {5662#true} {5662#true} #91#return; {5662#true} is VALID [2022-02-20 23:43:37,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:43:37,396 INFO L290 TraceCheckUtils]: 4: Hoare triple {5662#true} assume !(0 == ~cond); {5662#true} is VALID [2022-02-20 23:43:37,396 INFO L290 TraceCheckUtils]: 3: Hoare triple {5662#true} ~cond := #in~cond; {5662#true} is VALID [2022-02-20 23:43:37,396 INFO L272 TraceCheckUtils]: 2: Hoare triple {5662#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {5662#true} is VALID [2022-02-20 23:43:37,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {5662#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {5662#true} is VALID [2022-02-20 23:43:37,396 INFO L290 TraceCheckUtils]: 0: Hoare triple {5662#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {5662#true} is VALID [2022-02-20 23:43:37,397 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 23:43:37,397 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1679651831] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:43:37,397 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:43:37,397 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 16 [2022-02-20 23:43:37,397 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1626766942] [2022-02-20 23:43:37,397 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:43:37,398 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.8125) internal successors, (61), 16 states have internal predecessors, (61), 7 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) Word has length 50 [2022-02-20 23:43:37,398 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:37,398 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 3.8125) internal successors, (61), 16 states have internal predecessors, (61), 7 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-02-20 23:43:37,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:37,450 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:43:37,450 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:37,450 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:43:37,450 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=170, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:43:37,451 INFO L87 Difference]: Start difference. First operand 51 states and 52 transitions. Second operand has 16 states, 16 states have (on average 3.8125) internal successors, (61), 16 states have internal predecessors, (61), 7 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-02-20 23:43:37,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:37,788 INFO L93 Difference]: Finished difference Result 77 states and 82 transitions. [2022-02-20 23:43:37,788 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:43:37,788 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.8125) internal successors, (61), 16 states have internal predecessors, (61), 7 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) Word has length 50 [2022-02-20 23:43:37,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:37,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.8125) internal successors, (61), 16 states have internal predecessors, (61), 7 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-02-20 23:43:37,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-02-20 23:43:37,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.8125) internal successors, (61), 16 states have internal predecessors, (61), 7 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-02-20 23:43:37,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-02-20 23:43:37,790 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-02-20 23:43:37,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:37,851 INFO L225 Difference]: With dead ends: 77 [2022-02-20 23:43:37,851 INFO L226 Difference]: Without dead ends: 58 [2022-02-20 23:43:37,851 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 101 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=115, Invalid=265, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:43:37,851 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 52 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 171 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:37,852 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 190 Invalid, 171 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 149 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:43:37,852 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-02-20 23:43:37,853 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 55. [2022-02-20 23:43:37,853 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:37,853 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 55 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:37,853 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 55 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:37,853 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 55 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:37,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:37,854 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2022-02-20 23:43:37,854 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2022-02-20 23:43:37,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:37,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:37,855 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 58 states. [2022-02-20 23:43:37,855 INFO L87 Difference]: Start difference. First operand has 55 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 58 states. [2022-02-20 23:43:37,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:37,856 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2022-02-20 23:43:37,856 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2022-02-20 23:43:37,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:37,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:37,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:37,856 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:37,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:43:37,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 56 transitions. [2022-02-20 23:43:37,857 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 56 transitions. Word has length 50 [2022-02-20 23:43:37,857 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:37,858 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 56 transitions. [2022-02-20 23:43:37,858 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 3.8125) internal successors, (61), 16 states have internal predecessors, (61), 7 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-02-20 23:43:37,858 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 56 transitions. [2022-02-20 23:43:37,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-02-20 23:43:37,858 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:43:37,858 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:37,879 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-02-20 23:43:38,077 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-02-20 23:43:38,077 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 13 more)] === [2022-02-20 23:43:38,077 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:43:38,078 INFO L85 PathProgramCache]: Analyzing trace with hash -1125992250, now seen corresponding path program 3 times [2022-02-20 23:43:38,078 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:43:38,078 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [960071519] [2022-02-20 23:43:38,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:43:38,078 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:43:38,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:38,195 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:43:38,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:38,198 INFO L290 TraceCheckUtils]: 0: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,198 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6250#true} {6250#true} #91#return; {6250#true} is VALID [2022-02-20 23:43:38,198 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-02-20 23:43:38,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:38,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6250#true} {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} #93#return; {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,220 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 23:43:38,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:38,224 INFO L290 TraceCheckUtils]: 0: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6250#true} {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} #95#return; {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 35 [2022-02-20 23:43:38,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:38,229 INFO L290 TraceCheckUtils]: 0: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,230 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6250#true} {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} #97#return; {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 23:43:38,231 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 45 [2022-02-20 23:43:38,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:38,235 INFO L290 TraceCheckUtils]: 0: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6250#true} {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #97#return; {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:38,236 INFO L290 TraceCheckUtils]: 0: Hoare triple {6250#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {6250#true} is VALID [2022-02-20 23:43:38,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {6250#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {6250#true} is VALID [2022-02-20 23:43:38,236 INFO L272 TraceCheckUtils]: 2: Hoare triple {6250#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,236 INFO L290 TraceCheckUtils]: 3: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,237 INFO L290 TraceCheckUtils]: 4: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,237 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6250#true} {6250#true} #91#return; {6250#true} is VALID [2022-02-20 23:43:38,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {6250#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {6256#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} is VALID [2022-02-20 23:43:38,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {6256#(= |ULTIMATE.start_main_#t~malloc6#1.offset| 0)} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {6257#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:38,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {6257#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} assume !!(main_~x~0#1 < main_~y~0#1); {6257#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:38,239 INFO L290 TraceCheckUtils]: 10: Hoare triple {6257#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {6257#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:38,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {6257#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {6258#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} is VALID [2022-02-20 23:43:38,240 INFO L290 TraceCheckUtils]: 12: Hoare triple {6258#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1| 0))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {6259#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 8) (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~x~0#1| 4))))} is VALID [2022-02-20 23:43:38,240 INFO L290 TraceCheckUtils]: 13: Hoare triple {6259#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~y~0#1| 4) 8) (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~x~0#1| 4))))} assume !!(main_~x~0#1 < main_~y~0#1); {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,241 INFO L290 TraceCheckUtils]: 14: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,241 INFO L290 TraceCheckUtils]: 15: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,242 INFO L290 TraceCheckUtils]: 16: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,242 INFO L290 TraceCheckUtils]: 17: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !(main_~x~0#1 < main_~y~0#1); {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,243 INFO L272 TraceCheckUtils]: 19: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,243 INFO L290 TraceCheckUtils]: 21: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,243 INFO L290 TraceCheckUtils]: 22: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,244 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6250#true} {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} #93#return; {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,245 INFO L272 TraceCheckUtils]: 26: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,245 INFO L290 TraceCheckUtils]: 28: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,246 INFO L290 TraceCheckUtils]: 29: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,246 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6250#true} {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} #95#return; {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:43:38,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {6260#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 23:43:38,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} assume !!(main_~i~0#1 < main_~n~0#1); {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 23:43:38,248 INFO L290 TraceCheckUtils]: 33: Hoare triple {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 23:43:38,248 INFO L290 TraceCheckUtils]: 34: Hoare triple {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 23:43:38,248 INFO L272 TraceCheckUtils]: 35: Hoare triple {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,249 INFO L290 TraceCheckUtils]: 36: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,249 INFO L290 TraceCheckUtils]: 37: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,249 INFO L290 TraceCheckUtils]: 38: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,250 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6250#true} {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} #97#return; {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 23:43:38,250 INFO L290 TraceCheckUtils]: 40: Hoare triple {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 23:43:38,250 INFO L290 TraceCheckUtils]: 41: Hoare triple {6269#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:38,251 INFO L290 TraceCheckUtils]: 42: Hoare triple {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~i~0#1 < main_~n~0#1); {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:38,251 INFO L290 TraceCheckUtils]: 43: Hoare triple {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:38,252 INFO L290 TraceCheckUtils]: 44: Hoare triple {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:38,252 INFO L272 TraceCheckUtils]: 45: Hoare triple {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,252 INFO L290 TraceCheckUtils]: 46: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,252 INFO L290 TraceCheckUtils]: 47: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,252 INFO L290 TraceCheckUtils]: 48: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,253 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6250#true} {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} #97#return; {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:38,254 INFO L290 TraceCheckUtils]: 50: Hoare triple {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:43:38,254 INFO L290 TraceCheckUtils]: 51: Hoare triple {6274#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6279#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:38,255 INFO L290 TraceCheckUtils]: 52: Hoare triple {6279#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~n~0#1); {6279#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:38,255 INFO L290 TraceCheckUtils]: 53: Hoare triple {6279#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {6251#false} is VALID [2022-02-20 23:43:38,256 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 23:43:38,256 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:43:38,256 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [960071519] [2022-02-20 23:43:38,256 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [960071519] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:43:38,256 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1239110991] [2022-02-20 23:43:38,256 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:43:38,257 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:38,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:43:38,258 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:43:38,260 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 23:43:38,312 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-02-20 23:43:38,312 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:43:38,313 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:43:38,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:43:38,333 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:43:38,754 INFO L290 TraceCheckUtils]: 0: Hoare triple {6250#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {6250#true} is VALID [2022-02-20 23:43:38,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {6250#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {6250#true} is VALID [2022-02-20 23:43:38,754 INFO L272 TraceCheckUtils]: 2: Hoare triple {6250#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,754 INFO L290 TraceCheckUtils]: 4: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,754 INFO L290 TraceCheckUtils]: 5: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,754 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6250#true} {6250#true} #91#return; {6250#true} is VALID [2022-02-20 23:43:38,754 INFO L290 TraceCheckUtils]: 7: Hoare triple {6250#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {6250#true} is VALID [2022-02-20 23:43:38,754 INFO L290 TraceCheckUtils]: 8: Hoare triple {6250#true} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:38,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume !!(main_~x~0#1 < main_~y~0#1); {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:38,755 INFO L290 TraceCheckUtils]: 10: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:38,755 INFO L290 TraceCheckUtils]: 11: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:38,756 INFO L290 TraceCheckUtils]: 12: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:38,756 INFO L290 TraceCheckUtils]: 13: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume !!(main_~x~0#1 < main_~y~0#1); {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:38,756 INFO L290 TraceCheckUtils]: 14: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:38,756 INFO L290 TraceCheckUtils]: 15: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:38,757 INFO L290 TraceCheckUtils]: 16: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:38,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume !(main_~x~0#1 < main_~y~0#1); {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 23:43:38,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 23:43:38,757 INFO L272 TraceCheckUtils]: 19: Hoare triple {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,757 INFO L290 TraceCheckUtils]: 20: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,758 INFO L290 TraceCheckUtils]: 21: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,758 INFO L290 TraceCheckUtils]: 22: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,758 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6250#true} {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} #93#return; {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 23:43:38,759 INFO L290 TraceCheckUtils]: 24: Hoare triple {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 23:43:38,760 INFO L290 TraceCheckUtils]: 25: Hoare triple {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,760 INFO L272 TraceCheckUtils]: 26: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,760 INFO L290 TraceCheckUtils]: 28: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,760 INFO L290 TraceCheckUtils]: 29: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,761 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6250#true} {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} #95#return; {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,761 INFO L290 TraceCheckUtils]: 31: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,761 INFO L290 TraceCheckUtils]: 32: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} assume !!(main_~i~0#1 < main_~n~0#1); {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,762 INFO L290 TraceCheckUtils]: 33: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,762 INFO L290 TraceCheckUtils]: 34: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,762 INFO L272 TraceCheckUtils]: 35: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,762 INFO L290 TraceCheckUtils]: 36: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,762 INFO L290 TraceCheckUtils]: 37: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,762 INFO L290 TraceCheckUtils]: 38: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,763 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6250#true} {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} #97#return; {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,763 INFO L290 TraceCheckUtils]: 40: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,764 INFO L290 TraceCheckUtils]: 41: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,764 INFO L290 TraceCheckUtils]: 42: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} assume !!(main_~i~0#1 < main_~n~0#1); {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} is VALID [2022-02-20 23:43:38,765 INFO L290 TraceCheckUtils]: 43: Hoare triple {6360#(<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {6415#(and (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 23:43:38,765 INFO L290 TraceCheckUtils]: 44: Hoare triple {6415#(and (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {6415#(and (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 23:43:38,765 INFO L272 TraceCheckUtils]: 45: Hoare triple {6415#(and (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:38,765 INFO L290 TraceCheckUtils]: 46: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:38,765 INFO L290 TraceCheckUtils]: 47: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:38,765 INFO L290 TraceCheckUtils]: 48: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:38,766 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6250#true} {6415#(and (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} #97#return; {6415#(and (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 23:43:38,766 INFO L290 TraceCheckUtils]: 50: Hoare triple {6415#(and (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {6415#(and (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 23:43:38,767 INFO L290 TraceCheckUtils]: 51: Hoare triple {6415#(and (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6440#(and (<= (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1) |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:38,767 INFO L290 TraceCheckUtils]: 52: Hoare triple {6440#(and (<= (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1) |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} assume !!(main_~i~0#1 < main_~n~0#1); {6444#(and (< |ULTIMATE.start_main_~i~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 23:43:38,768 INFO L290 TraceCheckUtils]: 53: Hoare triple {6444#(and (< |ULTIMATE.start_main_~i~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)) (<= (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1) |ULTIMATE.start_main_~i~0#1|))} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {6251#false} is VALID [2022-02-20 23:43:38,768 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 23:43:38,768 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:43:39,553 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 34 [2022-02-20 23:43:39,676 INFO L290 TraceCheckUtils]: 53: Hoare triple {6448#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} assume !(4 + (main_~a~0#1.offset + 4 * main_~i~0#1) <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset + 4 * main_~i~0#1); {6251#false} is VALID [2022-02-20 23:43:39,677 INFO L290 TraceCheckUtils]: 52: Hoare triple {6452#(or (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) (not (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~n~0#1|)))} assume !!(main_~i~0#1 < main_~n~0#1); {6448#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 23:43:39,678 INFO L290 TraceCheckUtils]: 51: Hoare triple {6456#(and (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~i~0#1| 1))))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6452#(or (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) (not (< |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_~n~0#1|)))} is VALID [2022-02-20 23:43:39,678 INFO L290 TraceCheckUtils]: 50: Hoare triple {6456#(and (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~i~0#1| 1))))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {6456#(and (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~i~0#1| 1))))} is VALID [2022-02-20 23:43:39,679 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6250#true} {6456#(and (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~i~0#1| 1))))} #97#return; {6456#(and (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~i~0#1| 1))))} is VALID [2022-02-20 23:43:39,679 INFO L290 TraceCheckUtils]: 48: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:39,679 INFO L290 TraceCheckUtils]: 47: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:39,679 INFO L290 TraceCheckUtils]: 46: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:39,679 INFO L272 TraceCheckUtils]: 45: Hoare triple {6456#(and (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~i~0#1| 1))))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:39,680 INFO L290 TraceCheckUtils]: 44: Hoare triple {6456#(and (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~i~0#1| 1))))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {6456#(and (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~i~0#1| 1))))} is VALID [2022-02-20 23:43:39,680 INFO L290 TraceCheckUtils]: 43: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {6456#(and (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1))) (or (<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1)) (<= (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~i~0#1| 1))))} is VALID [2022-02-20 23:43:39,681 INFO L290 TraceCheckUtils]: 42: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} assume !!(main_~i~0#1 < main_~n~0#1); {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,681 INFO L290 TraceCheckUtils]: 41: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,684 INFO L290 TraceCheckUtils]: 40: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} havoc main_#t~mem15#1;havoc main_#t~mem16#1; {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,684 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6250#true} {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} #97#return; {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,684 INFO L290 TraceCheckUtils]: 38: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:39,684 INFO L290 TraceCheckUtils]: 37: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:39,685 INFO L290 TraceCheckUtils]: 36: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:39,685 INFO L272 TraceCheckUtils]: 35: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} call __VERIFIER_assert((if main_#t~mem15#1 <= main_#t~mem16#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:39,685 INFO L290 TraceCheckUtils]: 34: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} SUMMARY for call main_#t~mem16#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L46-1 {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} SUMMARY for call main_#t~mem15#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L46 {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,686 INFO L290 TraceCheckUtils]: 32: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} assume !!(main_~i~0#1 < main_~n~0#1); {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,686 INFO L290 TraceCheckUtils]: 31: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} havoc main_#t~mem12#1;havoc main_#t~mem13#1;main_~i~0#1 := 0; {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,687 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6250#true} {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} #95#return; {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,687 INFO L290 TraceCheckUtils]: 29: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:39,687 INFO L290 TraceCheckUtils]: 28: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:39,687 INFO L290 TraceCheckUtils]: 27: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:39,687 INFO L272 TraceCheckUtils]: 26: Hoare triple {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} call __VERIFIER_assert((if main_#t~mem12#1 <= main_#t~mem13#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:39,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} SUMMARY for call main_#t~mem13#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L43 {6481#(or (<= |ULTIMATE.start_main_~n~0#1| (+ (div |ULTIMATE.start_main_~a~0#1.offset| (- 4)) 1)) (<= |ULTIMATE.start_main_~n~0#1| (+ (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4) 1)))} is VALID [2022-02-20 23:43:39,688 INFO L290 TraceCheckUtils]: 24: Hoare triple {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} SUMMARY for call main_#t~mem12#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); srcloc: L42-1 {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 23:43:39,689 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6250#true} {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} #93#return; {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 23:43:39,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:39,689 INFO L290 TraceCheckUtils]: 21: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:39,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:39,689 INFO L272 TraceCheckUtils]: 19: Hoare triple {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} call assume_abort_if_not((if 0 <= main_~i~0#1 && main_~i~0#1 < main_~n~0#1 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:39,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} havoc main_~i~0#1;assume -2147483648 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 2147483647;main_~i~0#1 := main_#t~nondet11#1;havoc main_#t~nondet11#1; {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 23:43:39,689 INFO L290 TraceCheckUtils]: 17: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume !(main_~x~0#1 < main_~y~0#1); {6335#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~x~0#1| 1))} is VALID [2022-02-20 23:43:39,690 INFO L290 TraceCheckUtils]: 16: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:39,690 INFO L290 TraceCheckUtils]: 15: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:39,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:39,691 INFO L290 TraceCheckUtils]: 13: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume !!(main_~x~0#1 < main_~y~0#1); {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:39,691 INFO L290 TraceCheckUtils]: 12: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume main_#t~mem7#1 <= main_#t~mem8#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;main_#t~post9#1 := main_~x~0#1;main_~x~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1; {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:39,691 INFO L290 TraceCheckUtils]: 11: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~y~0#1, 4); srcloc: L35-1 {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:39,691 INFO L290 TraceCheckUtils]: 10: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} SUMMARY for call main_#t~mem7#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~x~0#1, 4); srcloc: L35 {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:39,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} assume !!(main_~x~0#1 < main_~y~0#1); {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:39,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {6250#true} assume { :end_inline_#Ultimate.meminit } true;main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc6#1.base, main_#t~malloc6#1.offset;main_~x~0#1 := 0;main_~y~0#1 := main_~n~0#1 - 1; {6307#(<= |ULTIMATE.start_main_~n~0#1| (+ |ULTIMATE.start_main_~y~0#1| 1))} is VALID [2022-02-20 23:43:39,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {6250#true} call main_#t~malloc6#1.base, main_#t~malloc6#1.offset := #Ultimate.allocOnHeap(4 * main_~n~0#1);assume { :begin_inline_#Ultimate.meminit } true;#Ultimate.meminit_#ptr#1.base, #Ultimate.meminit_#ptr#1.offset, #Ultimate.meminit_#amountOfFields#1, #Ultimate.meminit_#sizeOfFields#1, #Ultimate.meminit_#product#1 := main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_~n~0#1, 4, 4 * main_~n~0#1;#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #Ultimate.meminit_#ptr#1.base); {6250#true} is VALID [2022-02-20 23:43:39,692 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6250#true} {6250#true} #91#return; {6250#true} is VALID [2022-02-20 23:43:39,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {6250#true} assume true; {6250#true} is VALID [2022-02-20 23:43:39,692 INFO L290 TraceCheckUtils]: 4: Hoare triple {6250#true} assume !(0 == ~cond); {6250#true} is VALID [2022-02-20 23:43:39,692 INFO L290 TraceCheckUtils]: 3: Hoare triple {6250#true} ~cond := #in~cond; {6250#true} is VALID [2022-02-20 23:43:39,692 INFO L272 TraceCheckUtils]: 2: Hoare triple {6250#true} call assume_abort_if_not((if main_~n~0#1 >= 0 && main_~n~0#1 < 1073741824 then 1 else 0)); {6250#true} is VALID [2022-02-20 23:43:39,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {6250#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~malloc6#1.base, main_#t~malloc6#1.offset, main_#t~mem7#1, main_#t~mem8#1, main_#t~post9#1, main_#t~post10#1, main_#t~nondet11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem15#1, main_#t~mem16#1, main_#t~post14#1, main_~n~0#1, main_~a~0#1.base, main_~a~0#1.offset, main_~x~0#1, main_~y~0#1, main_~i~0#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~n~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {6250#true} is VALID [2022-02-20 23:43:39,693 INFO L290 TraceCheckUtils]: 0: Hoare triple {6250#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3); {6250#true} is VALID [2022-02-20 23:43:39,693 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 23:43:39,693 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1239110991] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:43:39,693 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:43:39,693 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 19 [2022-02-20 23:43:39,693 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [202251633] [2022-02-20 23:43:39,693 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:43:39,694 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.6842105263157894) internal successors, (70), 20 states have internal predecessors, (70), 9 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 9 states have call predecessors, (12), 9 states have call successors, (12) Word has length 54 [2022-02-20 23:43:39,694 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:43:39,694 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 3.6842105263157894) internal successors, (70), 20 states have internal predecessors, (70), 9 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 9 states have call predecessors, (12), 9 states have call successors, (12) [2022-02-20 23:43:39,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:39,769 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 23:43:39,769 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:43:39,769 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 23:43:39,769 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=318, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:43:39,769 INFO L87 Difference]: Start difference. First operand 55 states and 56 transitions. Second operand has 20 states, 19 states have (on average 3.6842105263157894) internal successors, (70), 20 states have internal predecessors, (70), 9 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 9 states have call predecessors, (12), 9 states have call successors, (12) [2022-02-20 23:43:40,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:40,803 INFO L93 Difference]: Finished difference Result 64 states and 67 transitions. [2022-02-20 23:43:40,803 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 23:43:40,803 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.6842105263157894) internal successors, (70), 20 states have internal predecessors, (70), 9 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 9 states have call predecessors, (12), 9 states have call successors, (12) Word has length 54 [2022-02-20 23:43:40,804 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:43:40,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.6842105263157894) internal successors, (70), 20 states have internal predecessors, (70), 9 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 9 states have call predecessors, (12), 9 states have call successors, (12) [2022-02-20 23:43:40,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 60 transitions. [2022-02-20 23:43:40,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.6842105263157894) internal successors, (70), 20 states have internal predecessors, (70), 9 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 9 states have call predecessors, (12), 9 states have call successors, (12) [2022-02-20 23:43:40,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 60 transitions. [2022-02-20 23:43:40,805 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 60 transitions. [2022-02-20 23:43:40,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:43:40,878 INFO L225 Difference]: With dead ends: 64 [2022-02-20 23:43:40,878 INFO L226 Difference]: Without dead ends: 0 [2022-02-20 23:43:40,879 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 107 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 117 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=217, Invalid=713, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:43:40,879 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 167 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 229 mSolverCounterSat, 85 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 167 SdHoareTripleChecker+Valid, 145 SdHoareTripleChecker+Invalid, 314 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 85 IncrementalHoareTripleChecker+Valid, 229 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:43:40,879 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [167 Valid, 145 Invalid, 314 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [85 Valid, 229 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:43:40,880 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-02-20 23:43:40,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-02-20 23:43:40,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:43:40,880 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-20 23:43:40,880 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-20 23:43:40,880 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-20 23:43:40,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:40,880 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 23:43:40,880 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 23:43:40,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:40,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:40,880 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-20 23:43:40,881 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-20 23:43:40,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:43:40,881 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 23:43:40,881 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 23:43:40,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:40,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:43:40,881 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:43:40,881 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:43:40,881 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-20 23:43:40,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-02-20 23:43:40,881 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 54 [2022-02-20 23:43:40,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:43:40,881 INFO L470 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-02-20 23:43:40,882 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 3.6842105263157894) internal successors, (70), 20 states have internal predecessors, (70), 9 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 9 states have call predecessors, (12), 9 states have call successors, (12) [2022-02-20 23:43:40,882 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 23:43:40,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:43:40,883 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0REQUIRES_VIOLATION (16 of 17 remaining) [2022-02-20 23:43:40,884 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr1REQUIRES_VIOLATION (15 of 17 remaining) [2022-02-20 23:43:40,884 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr2REQUIRES_VIOLATION (14 of 17 remaining) [2022-02-20 23:43:40,884 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr3REQUIRES_VIOLATION (13 of 17 remaining) [2022-02-20 23:43:40,884 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr4REQUIRES_VIOLATION (12 of 17 remaining) [2022-02-20 23:43:40,884 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr5REQUIRES_VIOLATION (11 of 17 remaining) [2022-02-20 23:43:40,884 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr6REQUIRES_VIOLATION (10 of 17 remaining) [2022-02-20 23:43:40,887 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr7REQUIRES_VIOLATION (9 of 17 remaining) [2022-02-20 23:43:40,887 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr8REQUIRES_VIOLATION (8 of 17 remaining) [2022-02-20 23:43:40,887 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr9REQUIRES_VIOLATION (7 of 17 remaining) [2022-02-20 23:43:40,887 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr10REQUIRES_VIOLATION (6 of 17 remaining) [2022-02-20 23:43:40,887 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr11REQUIRES_VIOLATION (5 of 17 remaining) [2022-02-20 23:43:40,887 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr12ASSERT_VIOLATIONMEMORY_FREE (4 of 17 remaining) [2022-02-20 23:43:40,888 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr13ASSERT_VIOLATIONMEMORY_FREE (3 of 17 remaining) [2022-02-20 23:43:40,888 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr14ASSERT_VIOLATIONMEMORY_FREE (2 of 17 remaining) [2022-02-20 23:43:40,888 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr15ASSERT_VIOLATIONMEMORY_LEAK (1 of 17 remaining) [2022-02-20 23:43:40,888 INFO L764 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONMEMORY_LEAK (0 of 17 remaining) [2022-02-20 23:43:40,909 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 23:43:41,099 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:43:41,102 INFO L732 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:43:41,103 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 23:43:41,104 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 20.02 11:43:41 BoogieIcfgContainer [2022-02-20 23:43:41,105 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-20 23:43:41,105 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-20 23:43:41,105 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-20 23:43:41,105 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-20 23:43:41,105 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:43:22" (3/4) ... [2022-02-20 23:43:41,107 INFO L137 WitnessPrinter]: Generating witness for correct program [2022-02-20 23:43:41,111 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure assume_abort_if_not [2022-02-20 23:43:41,111 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure __VERIFIER_assert [2022-02-20 23:43:41,116 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 17 nodes and edges [2022-02-20 23:43:41,117 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2022-02-20 23:43:41,117 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 3 nodes and edges [2022-02-20 23:43:41,117 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2022-02-20 23:43:41,145 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-20 23:43:41,145 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-20 23:43:41,147 INFO L158 Benchmark]: Toolchain (without parser) took 19585.45ms. Allocated memory was 98.6MB in the beginning and 192.9MB in the end (delta: 94.4MB). Free memory was 59.8MB in the beginning and 112.9MB in the end (delta: -53.2MB). Peak memory consumption was 41.5MB. Max. memory is 16.1GB. [2022-02-20 23:43:41,147 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 98.6MB. Free memory is still 76.4MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:43:41,147 INFO L158 Benchmark]: CACSL2BoogieTranslator took 246.79ms. Allocated memory is still 98.6MB. Free memory was 59.5MB in the beginning and 73.2MB in the end (delta: -13.7MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 23:43:41,147 INFO L158 Benchmark]: Boogie Procedure Inliner took 44.35ms. Allocated memory is still 98.6MB. Free memory was 73.2MB in the beginning and 71.5MB in the end (delta: 1.8MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:43:41,147 INFO L158 Benchmark]: Boogie Preprocessor took 43.01ms. Allocated memory is still 98.6MB. Free memory was 71.2MB in the beginning and 70.0MB in the end (delta: 1.2MB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:43:41,148 INFO L158 Benchmark]: RCFGBuilder took 448.88ms. Allocated memory is still 98.6MB. Free memory was 70.0MB in the beginning and 53.4MB in the end (delta: 16.6MB). Peak memory consumption was 18.9MB. Max. memory is 16.1GB. [2022-02-20 23:43:41,148 INFO L158 Benchmark]: TraceAbstraction took 18756.86ms. Allocated memory was 98.6MB in the beginning and 192.9MB in the end (delta: 94.4MB). Free memory was 52.9MB in the beginning and 115.9MB in the end (delta: -63.0MB). Peak memory consumption was 31.5MB. Max. memory is 16.1GB. [2022-02-20 23:43:41,148 INFO L158 Benchmark]: Witness Printer took 40.54ms. Allocated memory is still 192.9MB. Free memory was 115.9MB in the beginning and 112.9MB in the end (delta: 3.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 23:43:41,151 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 98.6MB. Free memory is still 76.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 246.79ms. Allocated memory is still 98.6MB. Free memory was 59.5MB in the beginning and 73.2MB in the end (delta: -13.7MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 44.35ms. Allocated memory is still 98.6MB. Free memory was 73.2MB in the beginning and 71.5MB in the end (delta: 1.8MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 43.01ms. Allocated memory is still 98.6MB. Free memory was 71.2MB in the beginning and 70.0MB in the end (delta: 1.2MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 448.88ms. Allocated memory is still 98.6MB. Free memory was 70.0MB in the beginning and 53.4MB in the end (delta: 16.6MB). Peak memory consumption was 18.9MB. Max. memory is 16.1GB. * TraceAbstraction took 18756.86ms. Allocated memory was 98.6MB in the beginning and 192.9MB in the end (delta: 94.4MB). Free memory was 52.9MB in the beginning and 115.9MB in the end (delta: -63.0MB). Peak memory consumption was 31.5MB. Max. memory is 16.1GB. * Witness Printer took 40.54ms. Allocated memory is still 192.9MB. Free memory was 115.9MB in the beginning and 112.9MB in the end (delta: 3.0MB). 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: 35]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 35]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 35]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 35]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 43]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 43]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 43]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 43]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 46]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 46]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 46]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 46]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 48]: free always succeeds For all program executions holds that free always succeeds at this location - PositiveResult [Line: 48]: free always succeeds For all program executions holds that free always succeeds at this location - PositiveResult [Line: 48]: free always succeeds For all program executions holds that free always succeeds at this location - PositiveResult [Line: 16]: all allocated memory was freed For all program executions holds that all allocated memory was freed at this location - PositiveResult [Line: 11]: 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 3 procedures, 53 locations, 17 error locations. Started 1 CEGAR loops. OverallTime: 18.7s, OverallIterations: 18, TraceHistogramMax: 3, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 7.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 1527 SdHoareTripleChecker+Valid, 2.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 1515 mSDsluCounter, 2145 SdHoareTripleChecker+Invalid, 1.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 35 IncrementalHoareTripleChecker+Unchecked, 1528 mSDsCounter, 386 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1939 IncrementalHoareTripleChecker+Invalid, 2360 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 386 mSolverCounterUnsat, 617 mSDtfsCounter, 1939 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 667 GetRequests, 447 SyntacticMatches, 7 SemanticMatches, 213 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 702 ImplicationChecksByTransitivity, 2.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=90occurred in iteration=5, InterpolantAutomatonStates: 142, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 18 MinimizatonAttempts, 250 StatesRemovedByMinimization, 11 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 7.7s InterpolantComputationTime, 710 NumberOfCodeBlocks, 693 NumberOfCodeBlocksAsserted, 27 NumberOfCheckSat, 845 ConstructedInterpolants, 16 QuantifiedInterpolants, 4965 SizeOfPredicates, 31 NumberOfNonLiveVariables, 892 ConjunctsInSsa, 54 ConjunctsInUnsatCore, 29 InterpolantComputations, 14 PerfectInterpolantSequences, 248/314 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 17 specifications checked. All of them hold RESULT: Ultimate proved your program to be correct! [2022-02-20 23:43:41,172 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