./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/array-fpi/brs1.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability 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/AutomizerReach.xml -i ../sv-benchmarks/c/array-fpi/brs1.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-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 ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 1719c559f228c1029533750a96ea896ed07efcc9b139440443e471db2c10d1e7 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 14:27:13,832 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 14:27:13,833 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 14:27:13,866 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 14:27:13,867 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 14:27:13,869 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 14:27:13,870 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 14:27:13,872 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 14:27:13,873 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 14:27:13,876 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 14:27:13,877 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 14:27:13,878 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 14:27:13,878 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 14:27:13,880 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 14:27:13,881 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 14:27:13,883 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 14:27:13,884 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 14:27:13,884 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 14:27:13,886 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 14:27:13,890 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 14:27:13,891 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 14:27:13,891 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 14:27:13,893 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 14:27:13,893 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 14:27:13,898 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 14:27:13,898 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 14:27:13,898 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 14:27:13,899 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 14:27:13,900 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 14:27:13,900 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 14:27:13,900 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 14:27:13,901 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 14:27:13,902 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 14:27:13,903 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 14:27:13,904 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 14:27:13,904 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 14:27:13,904 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 14:27:13,904 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 14:27:13,905 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 14:27:13,905 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 14:27:13,906 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 14:27:13,906 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 14:27:13,931 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 14:27:13,931 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 14:27:13,932 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 14:27:13,932 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 14:27:13,933 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 14:27:13,933 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 14:27:13,934 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 14:27:13,934 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 14:27:13,934 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 14:27:13,934 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 14:27:13,935 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 14:27:13,935 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 14:27:13,935 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 14:27:13,935 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 14:27:13,935 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 14:27:13,936 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 14:27:13,936 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 14:27:13,936 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 14:27:13,936 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 14:27:13,936 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 14:27:13,936 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 14:27:13,936 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 14:27:13,937 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 14:27:13,937 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 14:27:13,937 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:27:13,937 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 14:27:13,937 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 14:27:13,937 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 14:27:13,938 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 14:27:13,938 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 14:27:13,939 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 14:27:13,939 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 14:27:13,939 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 14:27:13,939 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 ! call(reach_error())) ) 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 -> 1719c559f228c1029533750a96ea896ed07efcc9b139440443e471db2c10d1e7 [2022-02-20 14:27:14,133 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 14:27:14,152 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 14:27:14,154 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 14:27:14,155 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 14:27:14,155 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 14:27:14,156 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-fpi/brs1.c [2022-02-20 14:27:14,221 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ee27d1138/f260339e25d642e0b8eaef28fe9f417c/FLAG1cb81b354 [2022-02-20 14:27:14,503 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 14:27:14,504 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-fpi/brs1.c [2022-02-20 14:27:14,508 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ee27d1138/f260339e25d642e0b8eaef28fe9f417c/FLAG1cb81b354 [2022-02-20 14:27:14,949 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ee27d1138/f260339e25d642e0b8eaef28fe9f417c [2022-02-20 14:27:14,951 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 14:27:14,952 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 14:27:14,957 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 14:27:14,957 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 14:27:14,960 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 14:27:14,960 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:27:14" (1/1) ... [2022-02-20 14:27:14,961 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7e9468fb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:14, skipping insertion in model container [2022-02-20 14:27:14,961 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:27:14" (1/1) ... [2022-02-20 14:27:14,966 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 14:27:14,974 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 14:27:15,089 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/array-fpi/brs1.c[587,600] [2022-02-20 14:27:15,120 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:27:15,130 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 14:27:15,142 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/array-fpi/brs1.c[587,600] [2022-02-20 14:27:15,160 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:27:15,174 INFO L208 MainTranslator]: Completed translation [2022-02-20 14:27:15,175 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15 WrapperNode [2022-02-20 14:27:15,175 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 14:27:15,176 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 14:27:15,176 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 14:27:15,176 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 14:27:15,181 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,193 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,218 INFO L137 Inliner]: procedures = 17, calls = 27, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 73 [2022-02-20 14:27:15,218 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 14:27:15,219 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 14:27:15,219 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 14:27:15,219 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 14:27:15,225 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,226 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,229 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,229 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,239 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,242 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,243 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,246 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 14:27:15,246 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 14:27:15,246 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 14:27:15,247 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 14:27:15,250 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (1/1) ... [2022-02-20 14:27:15,262 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:27:15,271 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:27:15,283 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 14:27:15,308 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 14:27:15,308 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 14:27:15,308 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 14:27:15,308 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 14:27:15,309 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 14:27:15,309 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 14:27:15,309 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 14:27:15,309 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 14:27:15,309 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 14:27:15,305 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 14:27:15,353 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 14:27:15,354 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 14:27:15,480 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 14:27:15,485 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 14:27:15,485 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 14:27:15,486 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:27:15 BoogieIcfgContainer [2022-02-20 14:27:15,486 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 14:27:15,487 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 14:27:15,487 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 14:27:15,490 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 14:27:15,490 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 02:27:14" (1/3) ... [2022-02-20 14:27:15,491 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2b50dc7e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:27:15, skipping insertion in model container [2022-02-20 14:27:15,491 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:27:15" (2/3) ... [2022-02-20 14:27:15,491 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2b50dc7e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:27:15, skipping insertion in model container [2022-02-20 14:27:15,491 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:27:15" (3/3) ... [2022-02-20 14:27:15,492 INFO L111 eAbstractionObserver]: Analyzing ICFG brs1.c [2022-02-20 14:27:15,495 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 14:27:15,496 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 14:27:15,523 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 14:27:15,528 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=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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 14:27:15,529 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 14:27:15,539 INFO L276 IsEmpty]: Start isEmpty. Operand has 20 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 19 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,542 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 14:27:15,542 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:27:15,543 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:27:15,543 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:27:15,546 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:27:15,547 INFO L85 PathProgramCache]: Analyzing trace with hash 361760665, now seen corresponding path program 1 times [2022-02-20 14:27:15,552 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:27:15,553 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1955562758] [2022-02-20 14:27:15,553 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:27:15,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:27:15,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:15,735 INFO L290 TraceCheckUtils]: 0: Hoare triple {23#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {23#true} is VALID [2022-02-20 14:27:15,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {23#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {23#true} is VALID [2022-02-20 14:27:15,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {23#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {23#true} is VALID [2022-02-20 14:27:15,742 INFO L290 TraceCheckUtils]: 3: Hoare triple {23#true} assume 0 == assume_abort_if_not_~cond#1;assume false; {24#false} is VALID [2022-02-20 14:27:15,743 INFO L290 TraceCheckUtils]: 4: Hoare triple {24#false} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {24#false} is VALID [2022-02-20 14:27:15,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {24#false} assume !(main_~i~0#1 < ~N~0); {24#false} is VALID [2022-02-20 14:27:15,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {24#false} main_~i~0#1 := 0; {24#false} is VALID [2022-02-20 14:27:15,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {24#false} assume !true; {24#false} is VALID [2022-02-20 14:27:15,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {24#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {24#false} is VALID [2022-02-20 14:27:15,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {24#false} assume 0 == __VERIFIER_assert_~cond#1; {24#false} is VALID [2022-02-20 14:27:15,745 INFO L290 TraceCheckUtils]: 10: Hoare triple {24#false} assume !false; {24#false} is VALID [2022-02-20 14:27:15,746 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 14:27:15,746 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:27:15,747 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1955562758] [2022-02-20 14:27:15,748 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1955562758] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:27:15,748 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:27:15,749 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 14:27:15,750 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [106635992] [2022-02-20 14:27:15,751 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:27:15,755 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 14:27:15,756 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:27:15,758 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:15,783 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 14:27:15,783 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:27:15,800 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 14:27:15,801 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 14:27:15,804 INFO L87 Difference]: Start difference. First operand has 20 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 19 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:15,838 INFO L93 Difference]: Finished difference Result 36 states and 50 transitions. [2022-02-20 14:27:15,838 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 14:27:15,838 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 14:27:15,838 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:27:15,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 50 transitions. [2022-02-20 14:27:15,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 50 transitions. [2022-02-20 14:27:15,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 50 transitions. [2022-02-20 14:27:15,907 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:15,912 INFO L225 Difference]: With dead ends: 36 [2022-02-20 14:27:15,921 INFO L226 Difference]: Without dead ends: 16 [2022-02-20 14:27:15,924 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 14:27:15,927 INFO L933 BasicCegarLoop]: 23 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, 23 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 14:27:15,929 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:27:15,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16 states. [2022-02-20 14:27:15,952 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16 to 16. [2022-02-20 14:27:15,953 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:27:15,953 INFO L82 GeneralOperation]: Start isEquivalent. First operand 16 states. Second operand has 16 states, 15 states have (on average 1.2) internal successors, (18), 15 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,954 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand has 16 states, 15 states have (on average 1.2) internal successors, (18), 15 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,954 INFO L87 Difference]: Start difference. First operand 16 states. Second operand has 16 states, 15 states have (on average 1.2) internal successors, (18), 15 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:15,956 INFO L93 Difference]: Finished difference Result 16 states and 18 transitions. [2022-02-20 14:27:15,956 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 18 transitions. [2022-02-20 14:27:15,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:15,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:15,956 INFO L74 IsIncluded]: Start isIncluded. First operand has 16 states, 15 states have (on average 1.2) internal successors, (18), 15 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 16 states. [2022-02-20 14:27:15,957 INFO L87 Difference]: Start difference. First operand has 16 states, 15 states have (on average 1.2) internal successors, (18), 15 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 16 states. [2022-02-20 14:27:15,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:15,962 INFO L93 Difference]: Finished difference Result 16 states and 18 transitions. [2022-02-20 14:27:15,962 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 18 transitions. [2022-02-20 14:27:15,963 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:15,963 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:15,963 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:27:15,963 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:27:15,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 1.2) internal successors, (18), 15 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 18 transitions. [2022-02-20 14:27:15,966 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 18 transitions. Word has length 11 [2022-02-20 14:27:15,967 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:27:15,967 INFO L470 AbstractCegarLoop]: Abstraction has 16 states and 18 transitions. [2022-02-20 14:27:15,967 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:15,967 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 18 transitions. [2022-02-20 14:27:15,967 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 14:27:15,968 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:27:15,968 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:27:15,968 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 14:27:15,968 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:27:15,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:27:15,969 INFO L85 PathProgramCache]: Analyzing trace with hash -447913662, now seen corresponding path program 1 times [2022-02-20 14:27:15,969 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:27:15,969 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [756179160] [2022-02-20 14:27:15,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:27:15,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:27:15,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:16,060 INFO L290 TraceCheckUtils]: 0: Hoare triple {119#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {119#true} is VALID [2022-02-20 14:27:16,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {119#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {119#true} is VALID [2022-02-20 14:27:16,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {119#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {121#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,062 INFO L290 TraceCheckUtils]: 3: Hoare triple {121#(<= 1 ~N~0)} assume !(0 == assume_abort_if_not_~cond#1); {121#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,064 INFO L290 TraceCheckUtils]: 4: Hoare triple {121#(<= 1 ~N~0)} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {122#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 1 ~N~0))} is VALID [2022-02-20 14:27:16,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {122#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 1 ~N~0))} assume !(main_~i~0#1 < ~N~0); {120#false} is VALID [2022-02-20 14:27:16,065 INFO L290 TraceCheckUtils]: 6: Hoare triple {120#false} main_~i~0#1 := 0; {120#false} is VALID [2022-02-20 14:27:16,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {120#false} assume !(main_~i~0#1 < ~N~0); {120#false} is VALID [2022-02-20 14:27:16,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {120#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {120#false} is VALID [2022-02-20 14:27:16,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {120#false} assume 0 == __VERIFIER_assert_~cond#1; {120#false} is VALID [2022-02-20 14:27:16,066 INFO L290 TraceCheckUtils]: 10: Hoare triple {120#false} assume !false; {120#false} is VALID [2022-02-20 14:27:16,066 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 14:27:16,066 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:27:16,067 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [756179160] [2022-02-20 14:27:16,067 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [756179160] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:27:16,067 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:27:16,067 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 14:27:16,067 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1659402078] [2022-02-20 14:27:16,068 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:27:16,069 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 14:27:16,069 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:27:16,069 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,079 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 14:27:16,080 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 14:27:16,080 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:27:16,080 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 14:27:16,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 14:27:16,081 INFO L87 Difference]: Start difference. First operand 16 states and 18 transitions. Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:16,142 INFO L93 Difference]: Finished difference Result 30 states and 36 transitions. [2022-02-20 14:27:16,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 14:27:16,143 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 14:27:16,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:27:16,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 36 transitions. [2022-02-20 14:27:16,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 36 transitions. [2022-02-20 14:27:16,145 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 36 transitions. [2022-02-20 14:27:16,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:16,171 INFO L225 Difference]: With dead ends: 30 [2022-02-20 14:27:16,172 INFO L226 Difference]: Without dead ends: 22 [2022-02-20 14:27:16,172 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 14:27:16,173 INFO L933 BasicCegarLoop]: 8 mSDtfsCounter, 16 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 11 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:27:16,173 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 11 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:27:16,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2022-02-20 14:27:16,178 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 19. [2022-02-20 14:27:16,178 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:27:16,178 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand has 19 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,179 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand has 19 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,179 INFO L87 Difference]: Start difference. First operand 22 states. Second operand has 19 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:16,180 INFO L93 Difference]: Finished difference Result 22 states and 24 transitions. [2022-02-20 14:27:16,180 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2022-02-20 14:27:16,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:16,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:16,181 INFO L74 IsIncluded]: Start isIncluded. First operand has 19 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 22 states. [2022-02-20 14:27:16,181 INFO L87 Difference]: Start difference. First operand has 19 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 22 states. [2022-02-20 14:27:16,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:16,182 INFO L93 Difference]: Finished difference Result 22 states and 24 transitions. [2022-02-20 14:27:16,182 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 24 transitions. [2022-02-20 14:27:16,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:16,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:16,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:27:16,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:27:16,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 21 transitions. [2022-02-20 14:27:16,184 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 21 transitions. Word has length 11 [2022-02-20 14:27:16,184 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:27:16,184 INFO L470 AbstractCegarLoop]: Abstraction has 19 states and 21 transitions. [2022-02-20 14:27:16,185 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,185 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 21 transitions. [2022-02-20 14:27:16,185 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 14:27:16,185 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:27:16,185 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:27:16,185 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 14:27:16,186 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:27:16,186 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:27:16,186 INFO L85 PathProgramCache]: Analyzing trace with hash 1044113915, now seen corresponding path program 1 times [2022-02-20 14:27:16,187 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:27:16,187 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [763981101] [2022-02-20 14:27:16,187 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:27:16,187 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:27:16,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:16,304 INFO L290 TraceCheckUtils]: 0: Hoare triple {227#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {227#true} is VALID [2022-02-20 14:27:16,304 INFO L290 TraceCheckUtils]: 1: Hoare triple {227#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {227#true} is VALID [2022-02-20 14:27:16,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {227#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {229#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,305 INFO L290 TraceCheckUtils]: 3: Hoare triple {229#(<= 1 ~N~0)} assume !(0 == assume_abort_if_not_~cond#1); {229#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,305 INFO L290 TraceCheckUtils]: 4: Hoare triple {229#(<= 1 ~N~0)} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {229#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,306 INFO L290 TraceCheckUtils]: 5: Hoare triple {229#(<= 1 ~N~0)} assume !!(main_~i~0#1 < ~N~0); {229#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,307 INFO L290 TraceCheckUtils]: 6: Hoare triple {229#(<= 1 ~N~0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {229#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {229#(<= 1 ~N~0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {229#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {229#(<= 1 ~N~0)} assume !(main_~i~0#1 < ~N~0); {229#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {229#(<= 1 ~N~0)} main_~i~0#1 := 0; {229#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,309 INFO L290 TraceCheckUtils]: 10: Hoare triple {229#(<= 1 ~N~0)} assume !!(main_~i~0#1 < ~N~0); {229#(<= 1 ~N~0)} is VALID [2022-02-20 14:27:16,310 INFO L290 TraceCheckUtils]: 11: Hoare triple {229#(<= 1 ~N~0)} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {230#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 1 ~N~0))} is VALID [2022-02-20 14:27:16,310 INFO L290 TraceCheckUtils]: 12: Hoare triple {230#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 1 ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {230#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 1 ~N~0))} is VALID [2022-02-20 14:27:16,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {230#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 1 ~N~0))} assume !(main_~i~0#1 < ~N~0); {230#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 1 ~N~0))} is VALID [2022-02-20 14:27:16,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {230#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 1 ~N~0))} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {231#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} is VALID [2022-02-20 14:27:16,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {231#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} assume 0 == __VERIFIER_assert_~cond#1; {228#false} is VALID [2022-02-20 14:27:16,312 INFO L290 TraceCheckUtils]: 16: Hoare triple {228#false} assume !false; {228#false} is VALID [2022-02-20 14:27:16,312 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 14:27:16,313 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:27:16,313 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [763981101] [2022-02-20 14:27:16,313 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [763981101] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:27:16,314 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:27:16,314 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 14:27:16,314 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [879502227] [2022-02-20 14:27:16,314 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:27:16,315 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 14:27:16,315 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:27:16,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,329 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 14:27:16,330 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 14:27:16,330 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:27:16,331 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 14:27:16,331 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 14:27:16,331 INFO L87 Difference]: Start difference. First operand 19 states and 21 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:16,402 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-02-20 14:27:16,402 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 14:27:16,405 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 14:27:16,405 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:27:16,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 26 transitions. [2022-02-20 14:27:16,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 26 transitions. [2022-02-20 14:27:16,409 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 26 transitions. [2022-02-20 14:27:16,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:16,429 INFO L225 Difference]: With dead ends: 26 [2022-02-20 14:27:16,431 INFO L226 Difference]: Without dead ends: 22 [2022-02-20 14:27:16,432 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 14:27:16,443 INFO L933 BasicCegarLoop]: 11 mSDtfsCounter, 12 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:27:16,443 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 27 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:27:16,444 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2022-02-20 14:27:16,451 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 21. [2022-02-20 14:27:16,451 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:27:16,452 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand has 21 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,452 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand has 21 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,452 INFO L87 Difference]: Start difference. First operand 22 states. Second operand has 21 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:16,454 INFO L93 Difference]: Finished difference Result 22 states and 25 transitions. [2022-02-20 14:27:16,454 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 25 transitions. [2022-02-20 14:27:16,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:16,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:16,456 INFO L74 IsIncluded]: Start isIncluded. First operand has 21 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 22 states. [2022-02-20 14:27:16,457 INFO L87 Difference]: Start difference. First operand has 21 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 22 states. [2022-02-20 14:27:16,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:16,463 INFO L93 Difference]: Finished difference Result 22 states and 25 transitions. [2022-02-20 14:27:16,463 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 25 transitions. [2022-02-20 14:27:16,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:16,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:16,464 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:27:16,464 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:27:16,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 1.15) internal successors, (23), 20 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 23 transitions. [2022-02-20 14:27:16,465 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 23 transitions. Word has length 17 [2022-02-20 14:27:16,466 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:27:16,466 INFO L470 AbstractCegarLoop]: Abstraction has 21 states and 23 transitions. [2022-02-20 14:27:16,466 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:16,466 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 23 transitions. [2022-02-20 14:27:16,466 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 14:27:16,466 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:27:16,467 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:27:16,467 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 14:27:16,467 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:27:16,468 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:27:16,468 INFO L85 PathProgramCache]: Analyzing trace with hash -1654199858, now seen corresponding path program 1 times [2022-02-20 14:27:16,468 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:27:16,469 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [447479621] [2022-02-20 14:27:16,469 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:27:16,469 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:27:16,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:16,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {337#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {337#true} is VALID [2022-02-20 14:27:16,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {337#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {337#true} is VALID [2022-02-20 14:27:16,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {337#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {337#true} is VALID [2022-02-20 14:27:16,573 INFO L290 TraceCheckUtils]: 3: Hoare triple {337#true} assume !(0 == assume_abort_if_not_~cond#1); {337#true} is VALID [2022-02-20 14:27:16,573 INFO L290 TraceCheckUtils]: 4: Hoare triple {337#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {339#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:16,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {339#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {339#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:16,574 INFO L290 TraceCheckUtils]: 6: Hoare triple {339#(= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {339#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:16,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {339#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {340#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:16,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {340#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(main_~i~0#1 < ~N~0); {341#(<= ~N~0 1)} is VALID [2022-02-20 14:27:16,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {341#(<= ~N~0 1)} main_~i~0#1 := 0; {342#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 1))} is VALID [2022-02-20 14:27:16,576 INFO L290 TraceCheckUtils]: 10: Hoare triple {342#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 1))} assume !!(main_~i~0#1 < ~N~0); {342#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 1))} is VALID [2022-02-20 14:27:16,579 INFO L290 TraceCheckUtils]: 11: Hoare triple {342#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 1))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {342#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 1))} is VALID [2022-02-20 14:27:16,580 INFO L290 TraceCheckUtils]: 12: Hoare triple {342#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {343#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:16,581 INFO L290 TraceCheckUtils]: 13: Hoare triple {343#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {338#false} is VALID [2022-02-20 14:27:16,581 INFO L290 TraceCheckUtils]: 14: Hoare triple {338#false} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {338#false} is VALID [2022-02-20 14:27:16,581 INFO L290 TraceCheckUtils]: 15: Hoare triple {338#false} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {338#false} is VALID [2022-02-20 14:27:16,581 INFO L290 TraceCheckUtils]: 16: Hoare triple {338#false} assume !(main_~i~0#1 < ~N~0); {338#false} is VALID [2022-02-20 14:27:16,581 INFO L290 TraceCheckUtils]: 17: Hoare triple {338#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {338#false} is VALID [2022-02-20 14:27:16,582 INFO L290 TraceCheckUtils]: 18: Hoare triple {338#false} assume 0 == __VERIFIER_assert_~cond#1; {338#false} is VALID [2022-02-20 14:27:16,583 INFO L290 TraceCheckUtils]: 19: Hoare triple {338#false} assume !false; {338#false} is VALID [2022-02-20 14:27:16,584 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:16,584 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:27:16,584 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [447479621] [2022-02-20 14:27:16,585 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [447479621] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:27:16,585 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1043690965] [2022-02-20 14:27:16,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:27:16,585 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:27:16,585 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:27:16,587 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 14:27:16,632 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 14:27:16,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:16,667 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 14:27:16,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:16,698 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:27:17,030 INFO L290 TraceCheckUtils]: 0: Hoare triple {337#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {337#true} is VALID [2022-02-20 14:27:17,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {337#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {337#true} is VALID [2022-02-20 14:27:17,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {337#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {337#true} is VALID [2022-02-20 14:27:17,031 INFO L290 TraceCheckUtils]: 3: Hoare triple {337#true} assume !(0 == assume_abort_if_not_~cond#1); {337#true} is VALID [2022-02-20 14:27:17,032 INFO L290 TraceCheckUtils]: 4: Hoare triple {337#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:17,033 INFO L290 TraceCheckUtils]: 5: Hoare triple {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:17,033 INFO L290 TraceCheckUtils]: 6: Hoare triple {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:17,034 INFO L290 TraceCheckUtils]: 7: Hoare triple {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {340#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:17,034 INFO L290 TraceCheckUtils]: 8: Hoare triple {340#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(main_~i~0#1 < ~N~0); {341#(<= ~N~0 1)} is VALID [2022-02-20 14:27:17,035 INFO L290 TraceCheckUtils]: 9: Hoare triple {341#(<= ~N~0 1)} main_~i~0#1 := 0; {375#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 1))} is VALID [2022-02-20 14:27:17,035 INFO L290 TraceCheckUtils]: 10: Hoare triple {375#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 1))} assume !!(main_~i~0#1 < ~N~0); {375#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 1))} is VALID [2022-02-20 14:27:17,036 INFO L290 TraceCheckUtils]: 11: Hoare triple {375#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 1))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {375#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 1))} is VALID [2022-02-20 14:27:17,037 INFO L290 TraceCheckUtils]: 12: Hoare triple {375#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {385#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 1))} is VALID [2022-02-20 14:27:17,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {385#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 1))} assume !!(main_~i~0#1 < ~N~0); {338#false} is VALID [2022-02-20 14:27:17,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {338#false} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {338#false} is VALID [2022-02-20 14:27:17,038 INFO L290 TraceCheckUtils]: 15: Hoare triple {338#false} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {338#false} is VALID [2022-02-20 14:27:17,038 INFO L290 TraceCheckUtils]: 16: Hoare triple {338#false} assume !(main_~i~0#1 < ~N~0); {338#false} is VALID [2022-02-20 14:27:17,038 INFO L290 TraceCheckUtils]: 17: Hoare triple {338#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {338#false} is VALID [2022-02-20 14:27:17,038 INFO L290 TraceCheckUtils]: 18: Hoare triple {338#false} assume 0 == __VERIFIER_assert_~cond#1; {338#false} is VALID [2022-02-20 14:27:17,038 INFO L290 TraceCheckUtils]: 19: Hoare triple {338#false} assume !false; {338#false} is VALID [2022-02-20 14:27:17,039 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:17,039 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:27:17,174 INFO L290 TraceCheckUtils]: 19: Hoare triple {338#false} assume !false; {338#false} is VALID [2022-02-20 14:27:17,174 INFO L290 TraceCheckUtils]: 18: Hoare triple {338#false} assume 0 == __VERIFIER_assert_~cond#1; {338#false} is VALID [2022-02-20 14:27:17,174 INFO L290 TraceCheckUtils]: 17: Hoare triple {338#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {338#false} is VALID [2022-02-20 14:27:17,175 INFO L290 TraceCheckUtils]: 16: Hoare triple {338#false} assume !(main_~i~0#1 < ~N~0); {338#false} is VALID [2022-02-20 14:27:17,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {338#false} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {338#false} is VALID [2022-02-20 14:27:17,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {338#false} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {338#false} is VALID [2022-02-20 14:27:17,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {343#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {338#false} is VALID [2022-02-20 14:27:17,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {428#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {343#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:17,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {428#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {428#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:17,177 INFO L290 TraceCheckUtils]: 10: Hoare triple {428#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {428#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:17,177 INFO L290 TraceCheckUtils]: 9: Hoare triple {341#(<= ~N~0 1)} main_~i~0#1 := 0; {428#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:17,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {340#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(main_~i~0#1 < ~N~0); {341#(<= ~N~0 1)} is VALID [2022-02-20 14:27:17,178 INFO L290 TraceCheckUtils]: 7: Hoare triple {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {340#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:17,179 INFO L290 TraceCheckUtils]: 6: Hoare triple {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:17,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:17,180 INFO L290 TraceCheckUtils]: 4: Hoare triple {337#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {359#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:17,180 INFO L290 TraceCheckUtils]: 3: Hoare triple {337#true} assume !(0 == assume_abort_if_not_~cond#1); {337#true} is VALID [2022-02-20 14:27:17,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {337#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {337#true} is VALID [2022-02-20 14:27:17,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {337#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {337#true} is VALID [2022-02-20 14:27:17,183 INFO L290 TraceCheckUtils]: 0: Hoare triple {337#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {337#true} is VALID [2022-02-20 14:27:17,184 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:17,184 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1043690965] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:27:17,184 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:27:17,184 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 11 [2022-02-20 14:27:17,184 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [57948271] [2022-02-20 14:27:17,184 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:27:17,187 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 11 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 20 [2022-02-20 14:27:17,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:27:17,189 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.0) internal successors, (33), 11 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:17,211 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 14:27:17,212 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 14:27:17,212 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:27:17,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 14:27:17,213 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2022-02-20 14:27:17,213 INFO L87 Difference]: Start difference. First operand 21 states and 23 transitions. Second operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 11 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:17,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:17,385 INFO L93 Difference]: Finished difference Result 42 states and 47 transitions. [2022-02-20 14:27:17,385 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 14:27:17,385 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 11 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 20 [2022-02-20 14:27:17,386 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:27:17,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 11 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:17,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2022-02-20 14:27:17,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 11 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:17,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2022-02-20 14:27:17,387 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 45 transitions. [2022-02-20 14:27:17,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:17,418 INFO L225 Difference]: With dead ends: 42 [2022-02-20 14:27:17,418 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 14:27:17,419 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 35 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=50, Invalid=106, Unknown=0, NotChecked=0, Total=156 [2022-02-20 14:27:17,420 INFO L933 BasicCegarLoop]: 9 mSDtfsCounter, 24 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 26 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 14:27:17,420 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 26 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 14:27:17,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 14:27:17,427 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 24. [2022-02-20 14:27:17,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:27:17,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 24 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:17,428 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 24 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:17,428 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 24 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:17,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:17,429 INFO L93 Difference]: Finished difference Result 28 states and 31 transitions. [2022-02-20 14:27:17,430 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-02-20 14:27:17,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:17,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:17,430 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 28 states. [2022-02-20 14:27:17,430 INFO L87 Difference]: Start difference. First operand has 24 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 28 states. [2022-02-20 14:27:17,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:17,431 INFO L93 Difference]: Finished difference Result 28 states and 31 transitions. [2022-02-20 14:27:17,431 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-02-20 14:27:17,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:17,432 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:17,432 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:27:17,432 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:27:17,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:17,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2022-02-20 14:27:17,433 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 20 [2022-02-20 14:27:17,433 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:27:17,433 INFO L470 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2022-02-20 14:27:17,433 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 11 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:17,434 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-02-20 14:27:17,434 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-02-20 14:27:17,434 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:27:17,434 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:27:17,477 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 14:27:17,652 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:27:17,652 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:27:17,653 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:27:17,654 INFO L85 PathProgramCache]: Analyzing trace with hash 1179965024, now seen corresponding path program 2 times [2022-02-20 14:27:17,654 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:27:17,654 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1828071436] [2022-02-20 14:27:17,655 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:27:17,655 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:27:17,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:18,065 INFO L290 TraceCheckUtils]: 0: Hoare triple {606#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {606#true} is VALID [2022-02-20 14:27:18,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {606#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {606#true} is VALID [2022-02-20 14:27:18,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {606#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {606#true} is VALID [2022-02-20 14:27:18,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {606#true} assume !(0 == assume_abort_if_not_~cond#1); {606#true} is VALID [2022-02-20 14:27:18,066 INFO L290 TraceCheckUtils]: 4: Hoare triple {606#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {608#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:27:18,067 INFO L290 TraceCheckUtils]: 5: Hoare triple {608#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~i~0#1 < ~N~0); {608#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:27:18,068 INFO L290 TraceCheckUtils]: 6: Hoare triple {608#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {608#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:27:18,068 INFO L290 TraceCheckUtils]: 7: Hoare triple {608#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {609#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:18,071 INFO L290 TraceCheckUtils]: 8: Hoare triple {609#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {610#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 ~N~0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))} is VALID [2022-02-20 14:27:18,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {610#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 ~N~0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {611#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 ~N~0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))} is VALID [2022-02-20 14:27:18,074 INFO L290 TraceCheckUtils]: 10: Hoare triple {611#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 ~N~0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {612#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} is VALID [2022-02-20 14:27:18,074 INFO L290 TraceCheckUtils]: 11: Hoare triple {612#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} assume !(main_~i~0#1 < ~N~0); {612#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} is VALID [2022-02-20 14:27:18,075 INFO L290 TraceCheckUtils]: 12: Hoare triple {612#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} main_~i~0#1 := 0; {613#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} is VALID [2022-02-20 14:27:18,075 INFO L290 TraceCheckUtils]: 13: Hoare triple {613#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} assume !!(main_~i~0#1 < ~N~0); {613#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} is VALID [2022-02-20 14:27:18,076 INFO L290 TraceCheckUtils]: 14: Hoare triple {613#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {614#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} is VALID [2022-02-20 14:27:18,076 INFO L290 TraceCheckUtils]: 15: Hoare triple {614#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {615#(and (or (= (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))) 1) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 2 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:18,077 INFO L290 TraceCheckUtils]: 16: Hoare triple {615#(and (or (= (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))) 1) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 2 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {615#(and (or (= (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))) 1) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 2 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:18,078 INFO L290 TraceCheckUtils]: 17: Hoare triple {615#(and (or (= (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))) 1) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 2 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {616#(or (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} is VALID [2022-02-20 14:27:18,078 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#(or (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {617#(or (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} is VALID [2022-02-20 14:27:18,079 INFO L290 TraceCheckUtils]: 19: Hoare triple {617#(or (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} assume !(main_~i~0#1 < ~N~0); {618#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} is VALID [2022-02-20 14:27:18,080 INFO L290 TraceCheckUtils]: 20: Hoare triple {618#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {619#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} is VALID [2022-02-20 14:27:18,080 INFO L290 TraceCheckUtils]: 21: Hoare triple {619#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} assume 0 == __VERIFIER_assert_~cond#1; {607#false} is VALID [2022-02-20 14:27:18,080 INFO L290 TraceCheckUtils]: 22: Hoare triple {607#false} assume !false; {607#false} is VALID [2022-02-20 14:27:18,081 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:18,081 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:27:18,081 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1828071436] [2022-02-20 14:27:18,081 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1828071436] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:27:18,081 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [122515703] [2022-02-20 14:27:18,081 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 14:27:18,082 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:27:18,082 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:27:18,096 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 14:27:18,098 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 14:27:18,145 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 14:27:18,145 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:27:18,146 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 24 conjunts are in the unsatisfiable core [2022-02-20 14:27:18,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:18,170 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:27:18,344 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-02-20 14:27:18,813 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:27:18,815 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 22 [2022-02-20 14:27:19,254 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:27:19,257 INFO L356 Elim1Store]: treesize reduction 15, result has 6.3 percent of original size [2022-02-20 14:27:19,258 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 47 treesize of output 41 [2022-02-20 14:27:21,003 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:27:21,009 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-02-20 14:27:21,010 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 13 [2022-02-20 14:27:21,307 INFO L290 TraceCheckUtils]: 0: Hoare triple {606#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {606#true} is VALID [2022-02-20 14:27:21,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {606#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {606#true} is VALID [2022-02-20 14:27:21,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {606#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {629#(not (<= ~N~0 0))} is VALID [2022-02-20 14:27:21,316 INFO L290 TraceCheckUtils]: 3: Hoare triple {629#(not (<= ~N~0 0))} assume !(0 == assume_abort_if_not_~cond#1); {629#(not (<= ~N~0 0))} is VALID [2022-02-20 14:27:21,317 INFO L290 TraceCheckUtils]: 4: Hoare triple {629#(not (<= ~N~0 0))} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {636#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} is VALID [2022-02-20 14:27:21,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {636#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} assume !!(main_~i~0#1 < ~N~0); {636#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} is VALID [2022-02-20 14:27:21,318 INFO L290 TraceCheckUtils]: 6: Hoare triple {636#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {636#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} is VALID [2022-02-20 14:27:21,318 INFO L290 TraceCheckUtils]: 7: Hoare triple {636#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {646#(and (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:21,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {646#(and (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {646#(and (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:21,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {646#(and (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {653#(and (<= (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))) 1) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:21,322 INFO L290 TraceCheckUtils]: 10: Hoare triple {653#(and (<= (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))) 1) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {657#(and (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= |ULTIMATE.start_main_~i~0#1| (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))))} is VALID [2022-02-20 14:27:21,323 INFO L290 TraceCheckUtils]: 11: Hoare triple {657#(and (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= |ULTIMATE.start_main_~i~0#1| (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))))} assume !(main_~i~0#1 < ~N~0); {661#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} is VALID [2022-02-20 14:27:21,323 INFO L290 TraceCheckUtils]: 12: Hoare triple {661#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} main_~i~0#1 := 0; {661#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} is VALID [2022-02-20 14:27:21,324 INFO L290 TraceCheckUtils]: 13: Hoare triple {661#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} assume !!(main_~i~0#1 < ~N~0); {661#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} is VALID [2022-02-20 14:27:21,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {661#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {671#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} is VALID [2022-02-20 14:27:21,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {671#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {671#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} is VALID [2022-02-20 14:27:21,327 INFO L290 TraceCheckUtils]: 16: Hoare triple {671#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)))} assume !!(main_~i~0#1 < ~N~0); {678#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (< |ULTIMATE.start_main_~i~0#1| ~N~0))} is VALID [2022-02-20 14:27:22,071 WARN L290 TraceCheckUtils]: 17: Hoare triple {678#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (<= ~N~0 0)) (< |ULTIMATE.start_main_~i~0#1| ~N~0))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {682#(and (not (= |ULTIMATE.start_main_~i~0#1| 0)) (not (<= ~N~0 0)) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (exists ((|ULTIMATE.start_main_~a~0#1.offset| Int) (|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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)))) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))))} is UNKNOWN [2022-02-20 14:27:22,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {682#(and (not (= |ULTIMATE.start_main_~i~0#1| 0)) (not (<= ~N~0 0)) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (exists ((|ULTIMATE.start_main_~a~0#1.offset| Int) (|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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)))) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {686#(and (not (<= ~N~0 0)) (exists ((|ULTIMATE.start_main_~a~0#1.offset| Int) (|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_26| Int) (|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (= |v_ULTIMATE.start_main_~i~0#1_26| 0)) (< |v_ULTIMATE.start_main_~i~0#1_26| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_26| 4)))) (<= |ULTIMATE.start_main_~i~0#1| (+ |v_ULTIMATE.start_main_~i~0#1_26| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))))} is VALID [2022-02-20 14:27:22,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {686#(and (not (<= ~N~0 0)) (exists ((|ULTIMATE.start_main_~a~0#1.offset| Int) (|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_26| Int) (|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (= |v_ULTIMATE.start_main_~i~0#1_26| 0)) (< |v_ULTIMATE.start_main_~i~0#1_26| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_26| 4)))) (<= |ULTIMATE.start_main_~i~0#1| (+ |v_ULTIMATE.start_main_~i~0#1_26| 1)) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))))} assume !(main_~i~0#1 < ~N~0); {690#(and (not (<= ~N~0 0)) (exists ((|ULTIMATE.start_main_~a~0#1.offset| Int) (|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_26| Int) (|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (= |v_ULTIMATE.start_main_~i~0#1_26| 0)) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_26| 1)) (< |v_ULTIMATE.start_main_~i~0#1_26| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_26| 4)))) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))))} is VALID [2022-02-20 14:27:22,138 INFO L290 TraceCheckUtils]: 20: Hoare triple {690#(and (not (<= ~N~0 0)) (exists ((|ULTIMATE.start_main_~a~0#1.offset| Int) (|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_26| Int) (|v_ULTIMATE.start_main_~i~0#1_25| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_25| 4))) 1) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_25| 1)) (< (+ |ULTIMATE.start_main_~a~0#1.base| 1) |ULTIMATE.start_main_~#sum~0#1.base|) (not (= |v_ULTIMATE.start_main_~i~0#1_26| 0)) (<= ~N~0 (+ |v_ULTIMATE.start_main_~i~0#1_26| 1)) (< |v_ULTIMATE.start_main_~i~0#1_26| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_26| 4)))) (<= |v_ULTIMATE.start_main_~i~0#1_25| 1))))} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {694#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:27:22,138 INFO L290 TraceCheckUtils]: 21: Hoare triple {694#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {607#false} is VALID [2022-02-20 14:27:22,138 INFO L290 TraceCheckUtils]: 22: Hoare triple {607#false} assume !false; {607#false} is VALID [2022-02-20 14:27:22,139 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:22,139 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:27:25,040 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 238 treesize of output 222 [2022-02-20 14:27:25,770 INFO L290 TraceCheckUtils]: 22: Hoare triple {607#false} assume !false; {607#false} is VALID [2022-02-20 14:27:25,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {694#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {607#false} is VALID [2022-02-20 14:27:25,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {618#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {694#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:27:25,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {617#(or (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} assume !(main_~i~0#1 < ~N~0); {618#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} is VALID [2022-02-20 14:27:25,773 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#(or (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {617#(or (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} is VALID [2022-02-20 14:27:25,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {716#(or (<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {616#(or (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} is VALID [2022-02-20 14:27:25,776 INFO L290 TraceCheckUtils]: 16: Hoare triple {720#(forall ((|ULTIMATE.start_main_~i~0#1| Int)) (or (<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} assume !!(main_~i~0#1 < ~N~0); {716#(or (<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} is VALID [2022-02-20 14:27:25,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {720#(forall ((|ULTIMATE.start_main_~i~0#1| Int)) (or (<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {720#(forall ((|ULTIMATE.start_main_~i~0#1| Int)) (or (<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} is VALID [2022-02-20 14:27:25,777 INFO L290 TraceCheckUtils]: 14: Hoare triple {727#(forall ((|ULTIMATE.start_main_~i~0#1| Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_71 Int)) (or (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ v_ArrVal_71 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (<= v_ArrVal_71 0)) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {720#(forall ((|ULTIMATE.start_main_~i~0#1| Int)) (or (<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0) (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} is VALID [2022-02-20 14:27:25,778 INFO L290 TraceCheckUtils]: 13: Hoare triple {727#(forall ((|ULTIMATE.start_main_~i~0#1| Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_71 Int)) (or (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ v_ArrVal_71 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (<= v_ArrVal_71 0)) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} assume !!(main_~i~0#1 < ~N~0); {727#(forall ((|ULTIMATE.start_main_~i~0#1| Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_71 Int)) (or (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ v_ArrVal_71 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (<= v_ArrVal_71 0)) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} is VALID [2022-02-20 14:27:25,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {727#(forall ((|ULTIMATE.start_main_~i~0#1| Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_71 Int)) (or (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ v_ArrVal_71 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (<= v_ArrVal_71 0)) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} main_~i~0#1 := 0; {727#(forall ((|ULTIMATE.start_main_~i~0#1| Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_71 Int)) (or (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ v_ArrVal_71 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (<= v_ArrVal_71 0)) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} is VALID [2022-02-20 14:27:25,780 INFO L290 TraceCheckUtils]: 11: Hoare triple {737#(or (< |ULTIMATE.start_main_~i~0#1| ~N~0) (forall ((|ULTIMATE.start_main_~i~0#1| Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_71 Int)) (or (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ v_ArrVal_71 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (<= v_ArrVal_71 0)) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0)))))} assume !(main_~i~0#1 < ~N~0); {727#(forall ((|ULTIMATE.start_main_~i~0#1| Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_71 Int)) (or (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ v_ArrVal_71 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (<= v_ArrVal_71 0)) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0))))} is VALID [2022-02-20 14:27:25,781 INFO L290 TraceCheckUtils]: 10: Hoare triple {741#(or (forall ((|ULTIMATE.start_main_~#sum~0#1.offset| Int) (|v_ULTIMATE.start_main_~i~0#1_31| Int) (v_ArrVal_71 Int)) (or (= |v_ULTIMATE.start_main_~i~0#1_31| 0) (not (< |v_ULTIMATE.start_main_~i~0#1_31| ~N~0)) (<= (+ (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_31| 4))) v_ArrVal_71) ~N~0) (<= (+ |v_ULTIMATE.start_main_~i~0#1_31| 2) ~N~0) (not (<= v_ArrVal_71 0)))) (< (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {737#(or (< |ULTIMATE.start_main_~i~0#1| ~N~0) (forall ((|ULTIMATE.start_main_~i~0#1| Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_71 Int)) (or (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ v_ArrVal_71 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) ~N~0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (not (<= v_ArrVal_71 0)) (not (< |ULTIMATE.start_main_~i~0#1| ~N~0)))))} is VALID [2022-02-20 14:27:25,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {745#(or (and (or (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= ~N~0 1)) (<= 1 ~N~0)) (< (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {741#(or (forall ((|ULTIMATE.start_main_~#sum~0#1.offset| Int) (|v_ULTIMATE.start_main_~i~0#1_31| Int) (v_ArrVal_71 Int)) (or (= |v_ULTIMATE.start_main_~i~0#1_31| 0) (not (< |v_ULTIMATE.start_main_~i~0#1_31| ~N~0)) (<= (+ (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_71)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_31| 4))) v_ArrVal_71) ~N~0) (<= (+ |v_ULTIMATE.start_main_~i~0#1_31| 2) ~N~0) (not (<= v_ArrVal_71 0)))) (< (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} is VALID [2022-02-20 14:27:25,783 INFO L290 TraceCheckUtils]: 8: Hoare triple {745#(or (and (or (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= ~N~0 1)) (<= 1 ~N~0)) (< (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} assume !!(main_~i~0#1 < ~N~0); {745#(or (and (or (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= ~N~0 1)) (<= 1 ~N~0)) (< (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} is VALID [2022-02-20 14:27:25,784 INFO L290 TraceCheckUtils]: 7: Hoare triple {752#(and (or (<= 1 ~N~0) (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (or (<= ~N~0 1) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {745#(or (and (or (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= ~N~0 1)) (<= 1 ~N~0)) (< (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0))} is VALID [2022-02-20 14:27:25,784 INFO L290 TraceCheckUtils]: 6: Hoare triple {752#(and (or (<= 1 ~N~0) (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (or (<= ~N~0 1) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {752#(and (or (<= 1 ~N~0) (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (or (<= ~N~0 1) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} is VALID [2022-02-20 14:27:25,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {752#(and (or (<= 1 ~N~0) (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (or (<= ~N~0 1) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} assume !!(main_~i~0#1 < ~N~0); {752#(and (or (<= 1 ~N~0) (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (or (<= ~N~0 1) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} is VALID [2022-02-20 14:27:25,786 INFO L290 TraceCheckUtils]: 4: Hoare triple {629#(not (<= ~N~0 0))} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {752#(and (or (<= 1 ~N~0) (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (or (<= ~N~0 1) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} is VALID [2022-02-20 14:27:25,786 INFO L290 TraceCheckUtils]: 3: Hoare triple {629#(not (<= ~N~0 0))} assume !(0 == assume_abort_if_not_~cond#1); {629#(not (<= ~N~0 0))} is VALID [2022-02-20 14:27:25,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {606#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {629#(not (<= ~N~0 0))} is VALID [2022-02-20 14:27:25,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {606#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {606#true} is VALID [2022-02-20 14:27:25,787 INFO L290 TraceCheckUtils]: 0: Hoare triple {606#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {606#true} is VALID [2022-02-20 14:27:25,787 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:25,787 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [122515703] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:27:25,787 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:27:25,787 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14, 14] total 33 [2022-02-20 14:27:25,788 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1544410742] [2022-02-20 14:27:25,789 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:27:25,790 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 33 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 23 [2022-02-20 14:27:25,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:27:25,790 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 33 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:25,933 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:25,933 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-02-20 14:27:25,933 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:27:25,934 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-02-20 14:27:25,934 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=175, Invalid=880, Unknown=1, NotChecked=0, Total=1056 [2022-02-20 14:27:25,934 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 33 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:26,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:26,627 INFO L93 Difference]: Finished difference Result 42 states and 47 transitions. [2022-02-20 14:27:26,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-02-20 14:27:26,627 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 33 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 23 [2022-02-20 14:27:26,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:27:26,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 33 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:26,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 43 transitions. [2022-02-20 14:27:26,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 33 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:26,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 43 transitions. [2022-02-20 14:27:26,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 43 transitions. [2022-02-20 14:27:27,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:27,451 INFO L225 Difference]: With dead ends: 42 [2022-02-20 14:27:27,451 INFO L226 Difference]: Without dead ends: 38 [2022-02-20 14:27:27,452 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 26 SyntacticMatches, 4 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 565 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=320, Invalid=1485, Unknown=1, NotChecked=0, Total=1806 [2022-02-20 14:27:27,452 INFO L933 BasicCegarLoop]: 7 mSDtfsCounter, 18 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 70 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 174 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 70 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 99 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 14:27:27,452 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 71 Invalid, 174 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 70 Invalid, 0 Unknown, 99 Unchecked, 0.1s Time] [2022-02-20 14:27:27,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-02-20 14:27:27,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 33. [2022-02-20 14:27:27,487 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:27:27,487 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 33 states, 32 states have (on average 1.15625) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:27,487 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 33 states, 32 states have (on average 1.15625) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:27,487 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 33 states, 32 states have (on average 1.15625) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:27,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:27,488 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-02-20 14:27:27,488 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-02-20 14:27:27,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:27,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:27,489 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 32 states have (on average 1.15625) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 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 38 states. [2022-02-20 14:27:27,489 INFO L87 Difference]: Start difference. First operand has 33 states, 32 states have (on average 1.15625) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 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 38 states. [2022-02-20 14:27:27,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:27,490 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-02-20 14:27:27,490 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-02-20 14:27:27,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:27,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:27,490 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:27:27,490 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:27:27,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 32 states have (on average 1.15625) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:27,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-02-20 14:27:27,494 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 23 [2022-02-20 14:27:27,494 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:27:27,494 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-02-20 14:27:27,494 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.7575757575757576) internal successors, (58), 33 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:27,494 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-02-20 14:27:27,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 14:27:27,496 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:27:27,496 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:27:27,520 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 14:27:27,703 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:27:27,703 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:27:27,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:27:27,704 INFO L85 PathProgramCache]: Analyzing trace with hash -373004471, now seen corresponding path program 3 times [2022-02-20 14:27:27,704 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:27:27,704 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1330464323] [2022-02-20 14:27:27,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:27:27,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:27:27,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:27,791 INFO L290 TraceCheckUtils]: 0: Hoare triple {967#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {967#true} is VALID [2022-02-20 14:27:27,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {967#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {967#true} is VALID [2022-02-20 14:27:27,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {967#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {967#true} is VALID [2022-02-20 14:27:27,792 INFO L290 TraceCheckUtils]: 3: Hoare triple {967#true} assume !(0 == assume_abort_if_not_~cond#1); {967#true} is VALID [2022-02-20 14:27:27,792 INFO L290 TraceCheckUtils]: 4: Hoare triple {967#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {969#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:27,792 INFO L290 TraceCheckUtils]: 5: Hoare triple {969#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {969#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:27,792 INFO L290 TraceCheckUtils]: 6: Hoare triple {969#(= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {969#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:27,793 INFO L290 TraceCheckUtils]: 7: Hoare triple {969#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:27,793 INFO L290 TraceCheckUtils]: 8: Hoare triple {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < ~N~0); {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:27,793 INFO L290 TraceCheckUtils]: 9: Hoare triple {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:27,794 INFO L290 TraceCheckUtils]: 10: Hoare triple {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {971#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:27:27,794 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#(<= |ULTIMATE.start_main_~i~0#1| 2)} assume !(main_~i~0#1 < ~N~0); {972#(<= ~N~0 2)} is VALID [2022-02-20 14:27:27,794 INFO L290 TraceCheckUtils]: 12: Hoare triple {972#(<= ~N~0 2)} main_~i~0#1 := 0; {973#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 2))} is VALID [2022-02-20 14:27:27,795 INFO L290 TraceCheckUtils]: 13: Hoare triple {973#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 2))} assume !!(main_~i~0#1 < ~N~0); {973#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 2))} is VALID [2022-02-20 14:27:27,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {973#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 2))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {973#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 2))} is VALID [2022-02-20 14:27:27,796 INFO L290 TraceCheckUtils]: 15: Hoare triple {973#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 2))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:27,796 INFO L290 TraceCheckUtils]: 16: Hoare triple {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:27,796 INFO L290 TraceCheckUtils]: 17: Hoare triple {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:27,796 INFO L290 TraceCheckUtils]: 18: Hoare triple {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {975#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:27,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {975#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {968#false} is VALID [2022-02-20 14:27:27,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {968#false} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {968#false} is VALID [2022-02-20 14:27:27,800 INFO L290 TraceCheckUtils]: 21: Hoare triple {968#false} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {968#false} is VALID [2022-02-20 14:27:27,800 INFO L290 TraceCheckUtils]: 22: Hoare triple {968#false} assume !(main_~i~0#1 < ~N~0); {968#false} is VALID [2022-02-20 14:27:27,800 INFO L290 TraceCheckUtils]: 23: Hoare triple {968#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {968#false} is VALID [2022-02-20 14:27:27,800 INFO L290 TraceCheckUtils]: 24: Hoare triple {968#false} assume 0 == __VERIFIER_assert_~cond#1; {968#false} is VALID [2022-02-20 14:27:27,800 INFO L290 TraceCheckUtils]: 25: Hoare triple {968#false} assume !false; {968#false} is VALID [2022-02-20 14:27:27,800 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 8 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:27,801 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:27:27,801 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1330464323] [2022-02-20 14:27:27,801 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1330464323] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:27:27,802 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1926867756] [2022-02-20 14:27:27,802 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 14:27:27,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:27:27,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:27:27,803 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 14:27:27,804 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 14:27:27,849 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 14:27:27,849 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:27:27,850 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 14:27:27,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:27,867 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:27:28,003 INFO L290 TraceCheckUtils]: 0: Hoare triple {967#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {967#true} is VALID [2022-02-20 14:27:28,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {967#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {967#true} is VALID [2022-02-20 14:27:28,003 INFO L290 TraceCheckUtils]: 2: Hoare triple {967#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {967#true} is VALID [2022-02-20 14:27:28,003 INFO L290 TraceCheckUtils]: 3: Hoare triple {967#true} assume !(0 == assume_abort_if_not_~cond#1); {967#true} is VALID [2022-02-20 14:27:28,004 INFO L290 TraceCheckUtils]: 4: Hoare triple {967#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:28,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:28,005 INFO L290 TraceCheckUtils]: 6: Hoare triple {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:28,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:28,006 INFO L290 TraceCheckUtils]: 8: Hoare triple {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < ~N~0); {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:28,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:28,006 INFO L290 TraceCheckUtils]: 10: Hoare triple {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {971#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:27:28,010 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#(<= |ULTIMATE.start_main_~i~0#1| 2)} assume !(main_~i~0#1 < ~N~0); {972#(<= ~N~0 2)} is VALID [2022-02-20 14:27:28,011 INFO L290 TraceCheckUtils]: 12: Hoare triple {972#(<= ~N~0 2)} main_~i~0#1 := 0; {1016#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} is VALID [2022-02-20 14:27:28,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {1016#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} assume !!(main_~i~0#1 < ~N~0); {1016#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} is VALID [2022-02-20 14:27:28,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {1016#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {1016#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} is VALID [2022-02-20 14:27:28,012 INFO L290 TraceCheckUtils]: 15: Hoare triple {1016#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1026#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} is VALID [2022-02-20 14:27:28,012 INFO L290 TraceCheckUtils]: 16: Hoare triple {1026#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} assume !!(main_~i~0#1 < ~N~0); {1026#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} is VALID [2022-02-20 14:27:28,013 INFO L290 TraceCheckUtils]: 17: Hoare triple {1026#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1026#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} is VALID [2022-02-20 14:27:28,013 INFO L290 TraceCheckUtils]: 18: Hoare triple {1026#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1036#(and (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} is VALID [2022-02-20 14:27:28,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {1036#(and (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 2))} assume !!(main_~i~0#1 < ~N~0); {968#false} is VALID [2022-02-20 14:27:28,014 INFO L290 TraceCheckUtils]: 20: Hoare triple {968#false} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {968#false} is VALID [2022-02-20 14:27:28,014 INFO L290 TraceCheckUtils]: 21: Hoare triple {968#false} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {968#false} is VALID [2022-02-20 14:27:28,014 INFO L290 TraceCheckUtils]: 22: Hoare triple {968#false} assume !(main_~i~0#1 < ~N~0); {968#false} is VALID [2022-02-20 14:27:28,014 INFO L290 TraceCheckUtils]: 23: Hoare triple {968#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {968#false} is VALID [2022-02-20 14:27:28,014 INFO L290 TraceCheckUtils]: 24: Hoare triple {968#false} assume 0 == __VERIFIER_assert_~cond#1; {968#false} is VALID [2022-02-20 14:27:28,014 INFO L290 TraceCheckUtils]: 25: Hoare triple {968#false} assume !false; {968#false} is VALID [2022-02-20 14:27:28,015 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 12 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:28,015 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:27:28,128 INFO L290 TraceCheckUtils]: 25: Hoare triple {968#false} assume !false; {968#false} is VALID [2022-02-20 14:27:28,129 INFO L290 TraceCheckUtils]: 24: Hoare triple {968#false} assume 0 == __VERIFIER_assert_~cond#1; {968#false} is VALID [2022-02-20 14:27:28,129 INFO L290 TraceCheckUtils]: 23: Hoare triple {968#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {968#false} is VALID [2022-02-20 14:27:28,129 INFO L290 TraceCheckUtils]: 22: Hoare triple {968#false} assume !(main_~i~0#1 < ~N~0); {968#false} is VALID [2022-02-20 14:27:28,129 INFO L290 TraceCheckUtils]: 21: Hoare triple {968#false} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {968#false} is VALID [2022-02-20 14:27:28,129 INFO L290 TraceCheckUtils]: 20: Hoare triple {968#false} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {968#false} is VALID [2022-02-20 14:27:28,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {975#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {968#false} is VALID [2022-02-20 14:27:28,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {975#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:28,131 INFO L290 TraceCheckUtils]: 17: Hoare triple {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:28,131 INFO L290 TraceCheckUtils]: 16: Hoare triple {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:28,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {1088#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {974#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:28,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {1088#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {1088#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:27:28,151 INFO L290 TraceCheckUtils]: 13: Hoare triple {1088#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < ~N~0); {1088#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:27:28,152 INFO L290 TraceCheckUtils]: 12: Hoare triple {972#(<= ~N~0 2)} main_~i~0#1 := 0; {1088#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:27:28,152 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#(<= |ULTIMATE.start_main_~i~0#1| 2)} assume !(main_~i~0#1 < ~N~0); {972#(<= ~N~0 2)} is VALID [2022-02-20 14:27:28,152 INFO L290 TraceCheckUtils]: 10: Hoare triple {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {971#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:27:28,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:28,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < ~N~0); {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:28,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {970#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:27:28,154 INFO L290 TraceCheckUtils]: 6: Hoare triple {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:28,154 INFO L290 TraceCheckUtils]: 5: Hoare triple {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:28,155 INFO L290 TraceCheckUtils]: 4: Hoare triple {967#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {991#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:28,155 INFO L290 TraceCheckUtils]: 3: Hoare triple {967#true} assume !(0 == assume_abort_if_not_~cond#1); {967#true} is VALID [2022-02-20 14:27:28,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {967#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {967#true} is VALID [2022-02-20 14:27:28,155 INFO L290 TraceCheckUtils]: 1: Hoare triple {967#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {967#true} is VALID [2022-02-20 14:27:28,155 INFO L290 TraceCheckUtils]: 0: Hoare triple {967#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {967#true} is VALID [2022-02-20 14:27:28,155 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 12 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:28,156 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1926867756] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:27:28,156 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:27:28,156 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 14 [2022-02-20 14:27:28,156 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1545134837] [2022-02-20 14:27:28,156 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:27:28,157 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 26 [2022-02-20 14:27:28,157 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:27:28,157 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:28,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:28,181 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 14:27:28,181 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:27:28,182 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 14:27:28,182 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=129, Unknown=0, NotChecked=0, Total=182 [2022-02-20 14:27:28,182 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:28,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:28,479 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-02-20 14:27:28,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 14:27:28,479 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 26 [2022-02-20 14:27:28,481 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:27:28,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:28,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 60 transitions. [2022-02-20 14:27:28,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:28,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 60 transitions. [2022-02-20 14:27:28,483 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 60 transitions. [2022-02-20 14:27:28,524 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 14:27:28,526 INFO L225 Difference]: With dead ends: 58 [2022-02-20 14:27:28,526 INFO L226 Difference]: Without dead ends: 38 [2022-02-20 14:27:28,527 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 67 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=80, Invalid=192, Unknown=0, NotChecked=0, Total=272 [2022-02-20 14:27:28,528 INFO L933 BasicCegarLoop]: 8 mSDtfsCounter, 60 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 92 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 24 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 92 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 14:27:28,530 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [60 Valid, 24 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 92 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 14:27:28,531 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-02-20 14:27:28,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 27. [2022-02-20 14:27:28,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:27:28,550 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 27 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:28,550 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 27 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:28,551 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 27 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:28,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:28,552 INFO L93 Difference]: Finished difference Result 38 states and 42 transitions. [2022-02-20 14:27:28,552 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-02-20 14:27:28,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:28,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:28,555 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 38 states. [2022-02-20 14:27:28,556 INFO L87 Difference]: Start difference. First operand has 27 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 38 states. [2022-02-20 14:27:28,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:28,557 INFO L93 Difference]: Finished difference Result 38 states and 42 transitions. [2022-02-20 14:27:28,557 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-02-20 14:27:28,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:28,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:28,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:27:28,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:27:28,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:28,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 29 transitions. [2022-02-20 14:27:28,560 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 29 transitions. Word has length 26 [2022-02-20 14:27:28,560 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:27:28,560 INFO L470 AbstractCegarLoop]: Abstraction has 27 states and 29 transitions. [2022-02-20 14:27:28,560 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:28,561 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2022-02-20 14:27:28,561 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 14:27:28,561 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:27:28,561 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:27:28,582 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 14:27:28,777 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:27:28,777 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:27:28,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:27:28,778 INFO L85 PathProgramCache]: Analyzing trace with hash -976107378, now seen corresponding path program 4 times [2022-02-20 14:27:28,778 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:27:28,778 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [373238843] [2022-02-20 14:27:28,778 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:27:28,778 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:27:28,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:28,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {1321#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {1321#true} is VALID [2022-02-20 14:27:28,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {1321#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1321#true} is VALID [2022-02-20 14:27:28,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {1321#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1321#true} is VALID [2022-02-20 14:27:28,854 INFO L290 TraceCheckUtils]: 3: Hoare triple {1321#true} assume !(0 == assume_abort_if_not_~cond#1); {1321#true} is VALID [2022-02-20 14:27:28,855 INFO L290 TraceCheckUtils]: 4: Hoare triple {1321#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {1323#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:28,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {1323#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {1323#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:28,858 INFO L290 TraceCheckUtils]: 6: Hoare triple {1323#(= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1323#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:27:28,859 INFO L290 TraceCheckUtils]: 7: Hoare triple {1323#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:28,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:28,862 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:28,862 INFO L290 TraceCheckUtils]: 10: Hoare triple {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1325#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:28,863 INFO L290 TraceCheckUtils]: 11: Hoare triple {1325#(<= 2 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:28,863 INFO L290 TraceCheckUtils]: 12: Hoare triple {1326#(<= 3 ~N~0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:28,864 INFO L290 TraceCheckUtils]: 13: Hoare triple {1326#(<= 3 ~N~0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:28,864 INFO L290 TraceCheckUtils]: 14: Hoare triple {1326#(<= 3 ~N~0)} assume !(main_~i~0#1 < ~N~0); {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:28,864 INFO L290 TraceCheckUtils]: 15: Hoare triple {1326#(<= 3 ~N~0)} main_~i~0#1 := 0; {1327#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:28,865 INFO L290 TraceCheckUtils]: 16: Hoare triple {1327#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} assume !!(main_~i~0#1 < ~N~0); {1327#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:28,865 INFO L290 TraceCheckUtils]: 17: Hoare triple {1327#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {1327#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:28,866 INFO L290 TraceCheckUtils]: 18: Hoare triple {1327#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} is VALID [2022-02-20 14:27:28,866 INFO L290 TraceCheckUtils]: 19: Hoare triple {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} assume !!(main_~i~0#1 < ~N~0); {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} is VALID [2022-02-20 14:27:28,866 INFO L290 TraceCheckUtils]: 20: Hoare triple {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} is VALID [2022-02-20 14:27:28,867 INFO L290 TraceCheckUtils]: 21: Hoare triple {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1329#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0)} is VALID [2022-02-20 14:27:28,867 INFO L290 TraceCheckUtils]: 22: Hoare triple {1329#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0)} assume !(main_~i~0#1 < ~N~0); {1322#false} is VALID [2022-02-20 14:27:28,867 INFO L290 TraceCheckUtils]: 23: Hoare triple {1322#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1322#false} is VALID [2022-02-20 14:27:28,868 INFO L290 TraceCheckUtils]: 24: Hoare triple {1322#false} assume 0 == __VERIFIER_assert_~cond#1; {1322#false} is VALID [2022-02-20 14:27:28,868 INFO L290 TraceCheckUtils]: 25: Hoare triple {1322#false} assume !false; {1322#false} is VALID [2022-02-20 14:27:28,868 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 1 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:28,868 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:27:28,868 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [373238843] [2022-02-20 14:27:28,868 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [373238843] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:27:28,869 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [342707031] [2022-02-20 14:27:28,869 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 14:27:28,869 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:27:28,869 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:27:28,870 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 14:27:28,871 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 14:27:28,909 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 14:27:28,909 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:27:28,910 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 14:27:28,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:28,917 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:27:29,098 INFO L290 TraceCheckUtils]: 0: Hoare triple {1321#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {1321#true} is VALID [2022-02-20 14:27:29,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {1321#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1321#true} is VALID [2022-02-20 14:27:29,098 INFO L290 TraceCheckUtils]: 2: Hoare triple {1321#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1321#true} is VALID [2022-02-20 14:27:29,098 INFO L290 TraceCheckUtils]: 3: Hoare triple {1321#true} assume !(0 == assume_abort_if_not_~cond#1); {1321#true} is VALID [2022-02-20 14:27:29,099 INFO L290 TraceCheckUtils]: 4: Hoare triple {1321#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,100 INFO L290 TraceCheckUtils]: 6: Hoare triple {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,101 INFO L290 TraceCheckUtils]: 7: Hoare triple {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,101 INFO L290 TraceCheckUtils]: 8: Hoare triple {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,102 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,102 INFO L290 TraceCheckUtils]: 10: Hoare triple {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1325#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,103 INFO L290 TraceCheckUtils]: 11: Hoare triple {1325#(<= 2 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:29,104 INFO L290 TraceCheckUtils]: 12: Hoare triple {1326#(<= 3 ~N~0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:29,104 INFO L290 TraceCheckUtils]: 13: Hoare triple {1326#(<= 3 ~N~0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:29,105 INFO L290 TraceCheckUtils]: 14: Hoare triple {1326#(<= 3 ~N~0)} assume !(main_~i~0#1 < ~N~0); {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:29,105 INFO L290 TraceCheckUtils]: 15: Hoare triple {1326#(<= 3 ~N~0)} main_~i~0#1 := 0; {1379#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:29,106 INFO L290 TraceCheckUtils]: 16: Hoare triple {1379#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} assume !!(main_~i~0#1 < ~N~0); {1379#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:29,106 INFO L290 TraceCheckUtils]: 17: Hoare triple {1379#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {1379#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:29,107 INFO L290 TraceCheckUtils]: 18: Hoare triple {1379#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 3 ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1389#(and (<= 3 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:29,107 INFO L290 TraceCheckUtils]: 19: Hoare triple {1389#(and (<= 3 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {1389#(and (<= 3 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:29,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {1389#(and (<= 3 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1389#(and (<= 3 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:29,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {1389#(and (<= 3 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1399#(and (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:29,109 INFO L290 TraceCheckUtils]: 22: Hoare triple {1399#(and (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 3 ~N~0))} assume !(main_~i~0#1 < ~N~0); {1322#false} is VALID [2022-02-20 14:27:29,109 INFO L290 TraceCheckUtils]: 23: Hoare triple {1322#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1322#false} is VALID [2022-02-20 14:27:29,109 INFO L290 TraceCheckUtils]: 24: Hoare triple {1322#false} assume 0 == __VERIFIER_assert_~cond#1; {1322#false} is VALID [2022-02-20 14:27:29,109 INFO L290 TraceCheckUtils]: 25: Hoare triple {1322#false} assume !false; {1322#false} is VALID [2022-02-20 14:27:29,109 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:29,109 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:27:29,255 INFO L290 TraceCheckUtils]: 25: Hoare triple {1322#false} assume !false; {1322#false} is VALID [2022-02-20 14:27:29,256 INFO L290 TraceCheckUtils]: 24: Hoare triple {1322#false} assume 0 == __VERIFIER_assert_~cond#1; {1322#false} is VALID [2022-02-20 14:27:29,256 INFO L290 TraceCheckUtils]: 23: Hoare triple {1322#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1322#false} is VALID [2022-02-20 14:27:29,256 INFO L290 TraceCheckUtils]: 22: Hoare triple {1329#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0)} assume !(main_~i~0#1 < ~N~0); {1322#false} is VALID [2022-02-20 14:27:29,257 INFO L290 TraceCheckUtils]: 21: Hoare triple {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1329#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0)} is VALID [2022-02-20 14:27:29,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} is VALID [2022-02-20 14:27:29,258 INFO L290 TraceCheckUtils]: 19: Hoare triple {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} assume !!(main_~i~0#1 < ~N~0); {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} is VALID [2022-02-20 14:27:29,258 INFO L290 TraceCheckUtils]: 18: Hoare triple {1433#(<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1328#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)} is VALID [2022-02-20 14:27:29,259 INFO L290 TraceCheckUtils]: 17: Hoare triple {1433#(<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {1433#(<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)} is VALID [2022-02-20 14:27:29,260 INFO L290 TraceCheckUtils]: 16: Hoare triple {1433#(<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)} assume !!(main_~i~0#1 < ~N~0); {1433#(<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)} is VALID [2022-02-20 14:27:29,260 INFO L290 TraceCheckUtils]: 15: Hoare triple {1326#(<= 3 ~N~0)} main_~i~0#1 := 0; {1433#(<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)} is VALID [2022-02-20 14:27:29,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {1326#(<= 3 ~N~0)} assume !(main_~i~0#1 < ~N~0); {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:29,261 INFO L290 TraceCheckUtils]: 13: Hoare triple {1326#(<= 3 ~N~0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:29,261 INFO L290 TraceCheckUtils]: 12: Hoare triple {1326#(<= 3 ~N~0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:29,261 INFO L290 TraceCheckUtils]: 11: Hoare triple {1325#(<= 2 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {1326#(<= 3 ~N~0)} is VALID [2022-02-20 14:27:29,262 INFO L290 TraceCheckUtils]: 10: Hoare triple {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1325#(<= 2 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,262 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,263 INFO L290 TraceCheckUtils]: 8: Hoare triple {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1324#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,264 INFO L290 TraceCheckUtils]: 6: Hoare triple {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,265 INFO L290 TraceCheckUtils]: 4: Hoare triple {1321#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {1345#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:27:29,265 INFO L290 TraceCheckUtils]: 3: Hoare triple {1321#true} assume !(0 == assume_abort_if_not_~cond#1); {1321#true} is VALID [2022-02-20 14:27:29,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {1321#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1321#true} is VALID [2022-02-20 14:27:29,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {1321#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1321#true} is VALID [2022-02-20 14:27:29,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {1321#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {1321#true} is VALID [2022-02-20 14:27:29,266 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:29,266 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [342707031] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:27:29,266 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:27:29,266 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 14 [2022-02-20 14:27:29,266 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [41120569] [2022-02-20 14:27:29,266 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:27:29,267 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 26 [2022-02-20 14:27:29,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:27:29,267 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:29,296 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:29,296 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 14:27:29,297 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:27:29,297 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 14:27:29,297 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=129, Unknown=0, NotChecked=0, Total=182 [2022-02-20 14:27:29,297 INFO L87 Difference]: Start difference. First operand 27 states and 29 transitions. Second operand has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:29,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:29,604 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2022-02-20 14:27:29,604 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 14:27:29,604 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 26 [2022-02-20 14:27:29,604 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:27:29,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:29,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 45 transitions. [2022-02-20 14:27:29,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:29,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 45 transitions. [2022-02-20 14:27:29,606 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 45 transitions. [2022-02-20 14:27:29,634 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:29,636 INFO L225 Difference]: With dead ends: 41 [2022-02-20 14:27:29,636 INFO L226 Difference]: Without dead ends: 32 [2022-02-20 14:27:29,636 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 45 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=100, Invalid=280, Unknown=0, NotChecked=0, Total=380 [2022-02-20 14:27:29,637 INFO L933 BasicCegarLoop]: 8 mSDtfsCounter, 62 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 26 SdHoareTripleChecker+Invalid, 174 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 14:27:29,637 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [62 Valid, 26 Invalid, 174 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 14:27:29,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-02-20 14:27:29,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 30. [2022-02-20 14:27:29,667 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:27:29,667 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:29,667 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:29,667 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:29,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:29,668 INFO L93 Difference]: Finished difference Result 32 states and 33 transitions. [2022-02-20 14:27:29,668 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 33 transitions. [2022-02-20 14:27:29,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:29,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:29,668 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 32 states. [2022-02-20 14:27:29,668 INFO L87 Difference]: Start difference. First operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 32 states. [2022-02-20 14:27:29,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:29,669 INFO L93 Difference]: Finished difference Result 32 states and 33 transitions. [2022-02-20 14:27:29,669 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 33 transitions. [2022-02-20 14:27:29,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:27:29,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:27:29,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:27:29,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:27:29,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:29,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2022-02-20 14:27:29,671 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 26 [2022-02-20 14:27:29,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:27:29,671 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2022-02-20 14:27:29,671 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:29,671 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 14:27:29,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 14:27:29,672 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:27:29,672 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:27:29,689 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-02-20 14:27:29,888 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:27:29,889 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:27:29,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:27:29,889 INFO L85 PathProgramCache]: Analyzing trace with hash -690020773, now seen corresponding path program 5 times [2022-02-20 14:27:29,889 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:27:29,889 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [452765176] [2022-02-20 14:27:29,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:27:29,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:27:29,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:30,393 INFO L290 TraceCheckUtils]: 0: Hoare triple {1652#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {1652#true} is VALID [2022-02-20 14:27:30,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {1652#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1652#true} is VALID [2022-02-20 14:27:30,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {1652#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1652#true} is VALID [2022-02-20 14:27:30,394 INFO L290 TraceCheckUtils]: 3: Hoare triple {1652#true} assume !(0 == assume_abort_if_not_~cond#1); {1652#true} is VALID [2022-02-20 14:27:30,395 INFO L290 TraceCheckUtils]: 4: Hoare triple {1652#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:27:30,395 INFO L290 TraceCheckUtils]: 5: Hoare triple {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~i~0#1 < ~N~0); {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:27:30,396 INFO L290 TraceCheckUtils]: 6: Hoare triple {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:27:30,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1655#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:30,396 INFO L290 TraceCheckUtils]: 8: Hoare triple {1655#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {1655#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:30,397 INFO L290 TraceCheckUtils]: 9: Hoare triple {1655#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1656#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:30,398 INFO L290 TraceCheckUtils]: 10: Hoare triple {1656#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1657#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:27:30,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {1657#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < ~N~0); {1658#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:27:30,399 INFO L290 TraceCheckUtils]: 12: Hoare triple {1658#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1659#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:27:30,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {1659#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= 2 |ULTIMATE.start_main_~i~0#1|))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1660#(and (or (< 3 ~N~0) (and (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:30,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {1660#(and (or (< 3 ~N~0) (and (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 ~N~0))} assume !(main_~i~0#1 < ~N~0); {1660#(and (or (< 3 ~N~0) (and (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:30,401 INFO L290 TraceCheckUtils]: 15: Hoare triple {1660#(and (or (< 3 ~N~0) (and (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 ~N~0))} main_~i~0#1 := 0; {1661#(and (or (< 3 ~N~0) (and (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:30,402 INFO L290 TraceCheckUtils]: 16: Hoare triple {1661#(and (or (< 3 ~N~0) (and (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 ~N~0))} assume !!(main_~i~0#1 < ~N~0); {1661#(and (or (< 3 ~N~0) (and (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:30,402 INFO L290 TraceCheckUtils]: 17: Hoare triple {1661#(and (or (< 3 ~N~0) (and (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 ~N~0))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {1662#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (< 3 ~N~0) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (<= 3 ~N~0))} is VALID [2022-02-20 14:27:30,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {1662#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (< 3 ~N~0) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1))) (<= 3 ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1663#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1) (= (+ (- 1) (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) (<= 3 ~N~0))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} is VALID [2022-02-20 14:27:30,404 INFO L290 TraceCheckUtils]: 19: Hoare triple {1663#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1) (= (+ (- 1) (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) (<= 3 ~N~0))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} assume !!(main_~i~0#1 < ~N~0); {1663#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1) (= (+ (- 1) (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) (<= 3 ~N~0))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} is VALID [2022-02-20 14:27:30,405 INFO L290 TraceCheckUtils]: 20: Hoare triple {1663#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1) (= (+ (- 1) (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) (<= 3 ~N~0))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1664#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} is VALID [2022-02-20 14:27:30,405 INFO L290 TraceCheckUtils]: 21: Hoare triple {1664#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 4))) 1) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (< (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1665#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (and (= (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))) 1) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} is VALID [2022-02-20 14:27:30,406 INFO L290 TraceCheckUtils]: 22: Hoare triple {1665#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (and (= (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))) 1) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} assume !!(main_~i~0#1 < ~N~0); {1665#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (and (= (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))) 1) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} is VALID [2022-02-20 14:27:30,407 INFO L290 TraceCheckUtils]: 23: Hoare triple {1665#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (and (= (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))) 1) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0)))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1666#(or (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0))} is VALID [2022-02-20 14:27:30,407 INFO L290 TraceCheckUtils]: 24: Hoare triple {1666#(or (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1667#(or (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0))} is VALID [2022-02-20 14:27:30,408 INFO L290 TraceCheckUtils]: 25: Hoare triple {1667#(or (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0))} assume !(main_~i~0#1 < ~N~0); {1668#(<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0)} is VALID [2022-02-20 14:27:30,408 INFO L290 TraceCheckUtils]: 26: Hoare triple {1668#(<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0)} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1669#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} is VALID [2022-02-20 14:27:30,408 INFO L290 TraceCheckUtils]: 27: Hoare triple {1669#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} assume 0 == __VERIFIER_assert_~cond#1; {1653#false} is VALID [2022-02-20 14:27:30,409 INFO L290 TraceCheckUtils]: 28: Hoare triple {1653#false} assume !false; {1653#false} is VALID [2022-02-20 14:27:30,409 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:30,409 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:27:30,409 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [452765176] [2022-02-20 14:27:30,409 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [452765176] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:27:30,409 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1251636188] [2022-02-20 14:27:30,409 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-02-20 14:27:30,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:27:30,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:27:30,411 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 14:27:30,412 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 14:27:30,460 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2022-02-20 14:27:30,460 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:27:30,461 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 40 conjunts are in the unsatisfiable core [2022-02-20 14:27:30,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:27:30,475 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:27:30,492 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-02-20 14:27:30,587 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-02-20 14:27:30,721 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:27:30,723 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2022-02-20 14:27:31,191 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:27:31,193 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 37 [2022-02-20 14:27:31,639 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:27:31,639 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:27:31,642 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 44 [2022-02-20 14:27:32,344 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:27:32,345 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:27:32,347 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 38 [2022-02-20 14:27:33,316 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:27:33,318 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 15 [2022-02-20 14:27:33,586 INFO L290 TraceCheckUtils]: 0: Hoare triple {1652#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {1652#true} is VALID [2022-02-20 14:27:33,587 INFO L290 TraceCheckUtils]: 1: Hoare triple {1652#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1652#true} is VALID [2022-02-20 14:27:33,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {1652#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1652#true} is VALID [2022-02-20 14:27:33,587 INFO L290 TraceCheckUtils]: 3: Hoare triple {1652#true} assume !(0 == assume_abort_if_not_~cond#1); {1652#true} is VALID [2022-02-20 14:27:33,588 INFO L290 TraceCheckUtils]: 4: Hoare triple {1652#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:27:33,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~i~0#1 < ~N~0); {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:27:33,589 INFO L290 TraceCheckUtils]: 6: Hoare triple {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:27:33,589 INFO L290 TraceCheckUtils]: 7: Hoare triple {1654#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1655#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:33,590 INFO L290 TraceCheckUtils]: 8: Hoare triple {1655#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {1655#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:33,590 INFO L290 TraceCheckUtils]: 9: Hoare triple {1655#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1700#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:33,591 INFO L290 TraceCheckUtils]: 10: Hoare triple {1700#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1704#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:27:33,591 INFO L290 TraceCheckUtils]: 11: Hoare triple {1704#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume !!(main_~i~0#1 < ~N~0); {1704#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:27:33,592 INFO L290 TraceCheckUtils]: 12: Hoare triple {1704#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:27:33,593 INFO L290 TraceCheckUtils]: 13: Hoare triple {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:27:33,594 INFO L290 TraceCheckUtils]: 14: Hoare triple {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} assume !(main_~i~0#1 < ~N~0); {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:27:33,595 INFO L290 TraceCheckUtils]: 15: Hoare triple {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} main_~i~0#1 := 0; {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:27:33,596 INFO L290 TraceCheckUtils]: 16: Hoare triple {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} assume !!(main_~i~0#1 < ~N~0); {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:27:33,597 INFO L290 TraceCheckUtils]: 17: Hoare triple {1711#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {1727#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))))} is VALID [2022-02-20 14:27:33,598 INFO L290 TraceCheckUtils]: 18: Hoare triple {1727#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1731#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~i~0#1| 1) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))))} is VALID [2022-02-20 14:27:33,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {1731#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~i~0#1| 1) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))))} assume !!(main_~i~0#1 < ~N~0); {1731#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~i~0#1| 1) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))))} is VALID [2022-02-20 14:27:33,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {1731#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~i~0#1| 1) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1738#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~i~0#1| 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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)))))} is VALID [2022-02-20 14:27:33,611 INFO L290 TraceCheckUtils]: 21: Hoare triple {1738#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~i~0#1| 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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)))))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1742#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 1 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4)))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:27:33,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {1742#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 1 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4)))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume !!(main_~i~0#1 < ~N~0); {1746#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 1 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4)))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:27:33,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {1746#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 1 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_58| 4))) 1))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4)))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1750#(and (exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) 1))) (< 2 ~N~0))} is VALID [2022-02-20 14:27:33,627 INFO L290 TraceCheckUtils]: 24: Hoare triple {1750#(and (exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) 1))) (< 2 ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1750#(and (exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) 1))) (< 2 ~N~0))} is VALID [2022-02-20 14:27:33,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {1750#(and (exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) 1))) (< 2 ~N~0))} assume !(main_~i~0#1 < ~N~0); {1750#(and (exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) 1))) (< 2 ~N~0))} is VALID [2022-02-20 14:27:33,636 INFO L290 TraceCheckUtils]: 26: Hoare triple {1750#(and (exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_58| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= 2 |v_ULTIMATE.start_main_~i~0#1_58|) (<= |v_ULTIMATE.start_main_~i~0#1_58| 2) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_58| 4)) 1))) (< 2 ~N~0))} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1760#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:27:33,637 INFO L290 TraceCheckUtils]: 27: Hoare triple {1760#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {1653#false} is VALID [2022-02-20 14:27:33,638 INFO L290 TraceCheckUtils]: 28: Hoare triple {1653#false} assume !false; {1653#false} is VALID [2022-02-20 14:27:33,638 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 4 proven. 20 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:27:33,638 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:27:50,221 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (v_ArrVal_173 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (let ((.cse0 (store |c_#memory_int| |c_ULTIMATE.start_main_~a~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~a~0#1.base|) (+ (* |c_ULTIMATE.start_main_~i~0#1| 4) |c_ULTIMATE.start_main_~a~0#1.offset| 4) v_ArrVal_173)))) (let ((.cse1 (select .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base|))) (or (<= (+ v_ArrVal_176 (select (select (store .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base| (store .cse1 |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))) 3) (not (<= v_ArrVal_174 0)) (not (<= v_ArrVal_173 1)) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base| (store .cse1 |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |c_ULTIMATE.start_main_~a~0#1.offset| 4))))))))) is different from false [2022-02-20 14:27:50,678 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-02-20 14:27:50,679 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 1332 treesize of output 1296 [2022-02-20 14:27:51,495 INFO L290 TraceCheckUtils]: 28: Hoare triple {1653#false} assume !false; {1653#false} is VALID [2022-02-20 14:27:51,496 INFO L290 TraceCheckUtils]: 27: Hoare triple {1760#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {1653#false} is VALID [2022-02-20 14:27:51,496 INFO L290 TraceCheckUtils]: 26: Hoare triple {1773#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1760#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:27:51,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {1773#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} assume !(main_~i~0#1 < ~N~0); {1773#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} is VALID [2022-02-20 14:27:51,497 INFO L290 TraceCheckUtils]: 24: Hoare triple {1773#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1773#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} is VALID [2022-02-20 14:27:51,498 INFO L290 TraceCheckUtils]: 23: Hoare triple {1783#(<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1773#(<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) ~N~0)} is VALID [2022-02-20 14:27:51,498 INFO L290 TraceCheckUtils]: 22: Hoare triple {1787#(<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {1783#(<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)} is VALID [2022-02-20 14:27:51,499 INFO L290 TraceCheckUtils]: 21: Hoare triple {1791#(<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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) 4))) (+ 2 |ULTIMATE.start_main_~i~0#1|))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1787#(<= (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:27:51,500 INFO L290 TraceCheckUtils]: 20: Hoare triple {1795#(forall ((v_ArrVal_176 Int)) (or (not (<= v_ArrVal_176 (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)))) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4))) (+ 2 |ULTIMATE.start_main_~i~0#1|))))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {1791#(<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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) 4))) (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:27:51,501 INFO L290 TraceCheckUtils]: 19: Hoare triple {1795#(forall ((v_ArrVal_176 Int)) (or (not (<= v_ArrVal_176 (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)))) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4))) (+ 2 |ULTIMATE.start_main_~i~0#1|))))} assume !!(main_~i~0#1 < ~N~0); {1795#(forall ((v_ArrVal_176 Int)) (or (not (<= v_ArrVal_176 (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)))) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4))) (+ 2 |ULTIMATE.start_main_~i~0#1|))))} is VALID [2022-02-20 14:27:51,502 INFO L290 TraceCheckUtils]: 18: Hoare triple {1802#(forall ((v_ArrVal_176 Int)) (or (not (<= v_ArrVal_176 (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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) 4))))) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)))) (+ 3 |ULTIMATE.start_main_~i~0#1|))))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {1795#(forall ((v_ArrVal_176 Int)) (or (not (<= v_ArrVal_176 (+ (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))) (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)))) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4))) (+ 2 |ULTIMATE.start_main_~i~0#1|))))} is VALID [2022-02-20 14:27:52,969 WARN L290 TraceCheckUtils]: 17: Hoare triple {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {1802#(forall ((v_ArrVal_176 Int)) (or (not (<= v_ArrVal_176 (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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) 4))))) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8 (* |ULTIMATE.start_main_~i~0#1| 4)))) (+ 3 |ULTIMATE.start_main_~i~0#1|))))} is UNKNOWN [2022-02-20 14:27:52,970 INFO L290 TraceCheckUtils]: 16: Hoare triple {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} assume !!(main_~i~0#1 < ~N~0); {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} is VALID [2022-02-20 14:27:52,970 INFO L290 TraceCheckUtils]: 15: Hoare triple {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} main_~i~0#1 := 0; {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} is VALID [2022-02-20 14:27:52,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} assume !(main_~i~0#1 < ~N~0); {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} is VALID [2022-02-20 14:27:52,972 INFO L290 TraceCheckUtils]: 13: Hoare triple {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} is VALID [2022-02-20 14:27:52,973 INFO L290 TraceCheckUtils]: 12: Hoare triple {1822#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (v_ArrVal_173 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4))))) (<= (+ v_ArrVal_176 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_174 0)) (not (<= v_ArrVal_173 1))))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1806#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_174 0)) (<= (+ v_ArrVal_176 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} is VALID [2022-02-20 14:27:52,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {1822#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (v_ArrVal_173 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4))))) (<= (+ v_ArrVal_176 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_174 0)) (not (<= v_ArrVal_173 1))))} assume !!(main_~i~0#1 < ~N~0); {1822#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (v_ArrVal_173 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4))))) (<= (+ v_ArrVal_176 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_174 0)) (not (<= v_ArrVal_173 1))))} is VALID [2022-02-20 14:27:52,978 INFO L290 TraceCheckUtils]: 10: Hoare triple {1829#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (v_ArrVal_173 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (<= (+ v_ArrVal_176 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_174 0)) (not (<= v_ArrVal_173 1)) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1822#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (v_ArrVal_173 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4))))) (<= (+ v_ArrVal_176 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_174 0)) (not (<= v_ArrVal_173 1))))} is VALID [2022-02-20 14:27:52,980 INFO L290 TraceCheckUtils]: 9: Hoare triple {1833#(= (* |ULTIMATE.start_main_~i~0#1| 4) 4)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1829#(forall ((v_ArrVal_176 Int) (v_ArrVal_174 Int) (v_ArrVal_173 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int)) (or (<= (+ v_ArrVal_176 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_176)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 3) (not (<= v_ArrVal_174 0)) (not (<= v_ArrVal_173 1)) (not (<= v_ArrVal_176 (+ v_ArrVal_174 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base| (store (select (store |#memory_int| |ULTIMATE.start_main_~a~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4) 4) v_ArrVal_173)) |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_174)) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))))))} is VALID [2022-02-20 14:27:52,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {1833#(= (* |ULTIMATE.start_main_~i~0#1| 4) 4)} assume !!(main_~i~0#1 < ~N~0); {1833#(= (* |ULTIMATE.start_main_~i~0#1| 4) 4)} is VALID [2022-02-20 14:27:52,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {1840#(= 4 (+ (* |ULTIMATE.start_main_~i~0#1| 4) 4))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1833#(= (* |ULTIMATE.start_main_~i~0#1| 4) 4)} is VALID [2022-02-20 14:27:52,981 INFO L290 TraceCheckUtils]: 6: Hoare triple {1840#(= 4 (+ (* |ULTIMATE.start_main_~i~0#1| 4) 4))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {1840#(= 4 (+ (* |ULTIMATE.start_main_~i~0#1| 4) 4))} is VALID [2022-02-20 14:27:52,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {1840#(= 4 (+ (* |ULTIMATE.start_main_~i~0#1| 4) 4))} assume !!(main_~i~0#1 < ~N~0); {1840#(= 4 (+ (* |ULTIMATE.start_main_~i~0#1| 4) 4))} is VALID [2022-02-20 14:27:52,982 INFO L290 TraceCheckUtils]: 4: Hoare triple {1652#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {1840#(= 4 (+ (* |ULTIMATE.start_main_~i~0#1| 4) 4))} is VALID [2022-02-20 14:27:52,982 INFO L290 TraceCheckUtils]: 3: Hoare triple {1652#true} assume !(0 == assume_abort_if_not_~cond#1); {1652#true} is VALID [2022-02-20 14:27:52,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {1652#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1652#true} is VALID [2022-02-20 14:27:52,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {1652#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1652#true} is VALID [2022-02-20 14:27:52,982 INFO L290 TraceCheckUtils]: 0: Hoare triple {1652#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {1652#true} is VALID [2022-02-20 14:27:52,983 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 21 refuted. 1 times theorem prover too weak. 0 trivial. 2 not checked. [2022-02-20 14:27:52,983 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1251636188] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:27:52,983 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:27:52,983 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 14, 14] total 39 [2022-02-20 14:27:52,983 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [327404199] [2022-02-20 14:27:52,983 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:27:52,983 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.8205128205128205) internal successors, (71), 39 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 29 [2022-02-20 14:27:52,984 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:27:52,984 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 39 states, 39 states have (on average 1.8205128205128205) internal successors, (71), 39 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:55,076 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 70 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 14:27:55,076 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-02-20 14:27:55,076 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:27:55,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-02-20 14:27:55,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=167, Invalid=1236, Unknown=7, NotChecked=72, Total=1482 [2022-02-20 14:27:55,077 INFO L87 Difference]: Start difference. First operand 30 states and 31 transitions. Second operand has 39 states, 39 states have (on average 1.8205128205128205) internal successors, (71), 39 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:58,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:27:58,241 INFO L93 Difference]: Finished difference Result 64 states and 68 transitions. [2022-02-20 14:27:58,241 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-02-20 14:27:58,241 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.8205128205128205) internal successors, (71), 39 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 29 [2022-02-20 14:27:58,241 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:27:58,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.8205128205128205) internal successors, (71), 39 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:58,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 62 transitions. [2022-02-20 14:27:58,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.8205128205128205) internal successors, (71), 39 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:27:58,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 62 transitions. [2022-02-20 14:27:58,243 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 62 transitions. [2022-02-20 14:28:00,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 61 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 14:28:00,324 INFO L225 Difference]: With dead ends: 64 [2022-02-20 14:28:00,324 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 14:28:00,325 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 36 SyntacticMatches, 3 SemanticMatches, 50 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 736 ImplicationChecksByTransitivity, 17.5s TimeCoverageRelationStatistics Valid=329, Invalid=2218, Unknown=7, NotChecked=98, Total=2652 [2022-02-20 14:28:00,325 INFO L933 BasicCegarLoop]: 9 mSDtfsCounter, 3 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 153 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 279 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 153 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 116 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 14:28:00,325 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 96 Invalid, 279 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 153 Invalid, 0 Unknown, 116 Unchecked, 0.2s Time] [2022-02-20 14:28:00,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 14:28:00,373 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 42. [2022-02-20 14:28:00,373 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:28:00,374 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 42 states, 41 states have (on average 1.0975609756097562) internal successors, (45), 41 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:00,374 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 42 states, 41 states have (on average 1.0975609756097562) internal successors, (45), 41 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:00,374 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 42 states, 41 states have (on average 1.0975609756097562) internal successors, (45), 41 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:00,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:28:00,375 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2022-02-20 14:28:00,375 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 62 transitions. [2022-02-20 14:28:00,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:28:00,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:28:00,375 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 41 states have (on average 1.0975609756097562) internal successors, (45), 41 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 59 states. [2022-02-20 14:28:00,375 INFO L87 Difference]: Start difference. First operand has 42 states, 41 states have (on average 1.0975609756097562) internal successors, (45), 41 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 59 states. [2022-02-20 14:28:00,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:28:00,376 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2022-02-20 14:28:00,376 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 62 transitions. [2022-02-20 14:28:00,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:28:00,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:28:00,377 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:28:00,377 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:28:00,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 41 states have (on average 1.0975609756097562) internal successors, (45), 41 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:00,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 45 transitions. [2022-02-20 14:28:00,378 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 45 transitions. Word has length 29 [2022-02-20 14:28:00,378 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:28:00,378 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 45 transitions. [2022-02-20 14:28:00,378 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 39 states have (on average 1.8205128205128205) internal successors, (71), 39 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:00,378 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 45 transitions. [2022-02-20 14:28:00,379 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-02-20 14:28:00,379 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:28:00,379 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:28:00,397 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 14:28:00,595 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:28:00,596 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:28:00,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:28:00,596 INFO L85 PathProgramCache]: Analyzing trace with hash 900913518, now seen corresponding path program 6 times [2022-02-20 14:28:00,596 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:28:00,596 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1069599224] [2022-02-20 14:28:00,596 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:28:00,596 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:28:00,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:28:00,695 INFO L290 TraceCheckUtils]: 0: Hoare triple {2143#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {2143#true} is VALID [2022-02-20 14:28:00,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {2143#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2143#true} is VALID [2022-02-20 14:28:00,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {2143#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2143#true} is VALID [2022-02-20 14:28:00,696 INFO L290 TraceCheckUtils]: 3: Hoare triple {2143#true} assume !(0 == assume_abort_if_not_~cond#1); {2143#true} is VALID [2022-02-20 14:28:00,696 INFO L290 TraceCheckUtils]: 4: Hoare triple {2143#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {2145#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:28:00,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {2145#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {2145#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:28:00,697 INFO L290 TraceCheckUtils]: 6: Hoare triple {2145#(= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2145#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:28:00,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {2145#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:28:00,698 INFO L290 TraceCheckUtils]: 8: Hoare triple {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < ~N~0); {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:28:00,698 INFO L290 TraceCheckUtils]: 9: Hoare triple {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:28:00,698 INFO L290 TraceCheckUtils]: 10: Hoare triple {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:28:00,699 INFO L290 TraceCheckUtils]: 11: Hoare triple {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} assume !!(main_~i~0#1 < ~N~0); {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:28:00,699 INFO L290 TraceCheckUtils]: 12: Hoare triple {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:28:00,700 INFO L290 TraceCheckUtils]: 13: Hoare triple {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2148#(<= |ULTIMATE.start_main_~i~0#1| 3)} is VALID [2022-02-20 14:28:00,700 INFO L290 TraceCheckUtils]: 14: Hoare triple {2148#(<= |ULTIMATE.start_main_~i~0#1| 3)} assume !(main_~i~0#1 < ~N~0); {2149#(<= ~N~0 3)} is VALID [2022-02-20 14:28:00,700 INFO L290 TraceCheckUtils]: 15: Hoare triple {2149#(<= ~N~0 3)} main_~i~0#1 := 0; {2150#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 3))} is VALID [2022-02-20 14:28:00,701 INFO L290 TraceCheckUtils]: 16: Hoare triple {2150#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 3))} assume !!(main_~i~0#1 < ~N~0); {2150#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 3))} is VALID [2022-02-20 14:28:00,701 INFO L290 TraceCheckUtils]: 17: Hoare triple {2150#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 3))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {2150#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 3))} is VALID [2022-02-20 14:28:00,702 INFO L290 TraceCheckUtils]: 18: Hoare triple {2150#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= ~N~0 3))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:00,702 INFO L290 TraceCheckUtils]: 19: Hoare triple {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < ~N~0); {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:00,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:00,703 INFO L290 TraceCheckUtils]: 21: Hoare triple {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:00,703 INFO L290 TraceCheckUtils]: 22: Hoare triple {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:00,703 INFO L290 TraceCheckUtils]: 23: Hoare triple {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:00,704 INFO L290 TraceCheckUtils]: 24: Hoare triple {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2153#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:28:00,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {2153#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {2144#false} is VALID [2022-02-20 14:28:00,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {2144#false} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2144#false} is VALID [2022-02-20 14:28:00,705 INFO L290 TraceCheckUtils]: 27: Hoare triple {2144#false} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2144#false} is VALID [2022-02-20 14:28:00,705 INFO L290 TraceCheckUtils]: 28: Hoare triple {2144#false} assume !(main_~i~0#1 < ~N~0); {2144#false} is VALID [2022-02-20 14:28:00,705 INFO L290 TraceCheckUtils]: 29: Hoare triple {2144#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2144#false} is VALID [2022-02-20 14:28:00,705 INFO L290 TraceCheckUtils]: 30: Hoare triple {2144#false} assume 0 == __VERIFIER_assert_~cond#1; {2144#false} is VALID [2022-02-20 14:28:00,705 INFO L290 TraceCheckUtils]: 31: Hoare triple {2144#false} assume !false; {2144#false} is VALID [2022-02-20 14:28:00,705 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 15 proven. 19 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:28:00,705 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:28:00,706 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1069599224] [2022-02-20 14:28:00,706 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1069599224] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:28:00,706 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [70416097] [2022-02-20 14:28:00,706 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-02-20 14:28:00,706 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:28:00,706 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:28:00,707 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 14:28:00,708 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 14:28:00,764 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-02-20 14:28:00,764 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:28:00,765 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 14:28:00,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:28:00,775 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:28:01,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {2143#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {2143#true} is VALID [2022-02-20 14:28:01,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {2143#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2143#true} is VALID [2022-02-20 14:28:01,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {2143#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2143#true} is VALID [2022-02-20 14:28:01,020 INFO L290 TraceCheckUtils]: 3: Hoare triple {2143#true} assume !(0 == assume_abort_if_not_~cond#1); {2143#true} is VALID [2022-02-20 14:28:01,021 INFO L290 TraceCheckUtils]: 4: Hoare triple {2143#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:28:01,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:28:01,021 INFO L290 TraceCheckUtils]: 6: Hoare triple {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:28:01,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:28:01,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < ~N~0); {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:28:01,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:28:01,023 INFO L290 TraceCheckUtils]: 10: Hoare triple {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:28:01,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} assume !!(main_~i~0#1 < ~N~0); {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:28:01,024 INFO L290 TraceCheckUtils]: 12: Hoare triple {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:28:01,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2148#(<= |ULTIMATE.start_main_~i~0#1| 3)} is VALID [2022-02-20 14:28:01,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {2148#(<= |ULTIMATE.start_main_~i~0#1| 3)} assume !(main_~i~0#1 < ~N~0); {2149#(<= ~N~0 3)} is VALID [2022-02-20 14:28:01,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {2149#(<= ~N~0 3)} main_~i~0#1 := 0; {2203#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {2203#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} assume !!(main_~i~0#1 < ~N~0); {2203#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,026 INFO L290 TraceCheckUtils]: 17: Hoare triple {2203#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {2203#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {2203#(and (<= 0 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2213#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {2213#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} assume !!(main_~i~0#1 < ~N~0); {2213#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {2213#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2213#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,028 INFO L290 TraceCheckUtils]: 21: Hoare triple {2213#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2223#(and (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {2223#(and (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} assume !!(main_~i~0#1 < ~N~0); {2223#(and (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {2223#(and (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2223#(and (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,029 INFO L290 TraceCheckUtils]: 24: Hoare triple {2223#(and (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2233#(and (<= 3 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} is VALID [2022-02-20 14:28:01,030 INFO L290 TraceCheckUtils]: 25: Hoare triple {2233#(and (<= 3 |ULTIMATE.start_main_~i~0#1|) (<= ~N~0 3))} assume !!(main_~i~0#1 < ~N~0); {2144#false} is VALID [2022-02-20 14:28:01,030 INFO L290 TraceCheckUtils]: 26: Hoare triple {2144#false} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2144#false} is VALID [2022-02-20 14:28:01,030 INFO L290 TraceCheckUtils]: 27: Hoare triple {2144#false} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2144#false} is VALID [2022-02-20 14:28:01,030 INFO L290 TraceCheckUtils]: 28: Hoare triple {2144#false} assume !(main_~i~0#1 < ~N~0); {2144#false} is VALID [2022-02-20 14:28:01,030 INFO L290 TraceCheckUtils]: 29: Hoare triple {2144#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2144#false} is VALID [2022-02-20 14:28:01,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {2144#false} assume 0 == __VERIFIER_assert_~cond#1; {2144#false} is VALID [2022-02-20 14:28:01,030 INFO L290 TraceCheckUtils]: 31: Hoare triple {2144#false} assume !false; {2144#false} is VALID [2022-02-20 14:28:01,031 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 22 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:28:01,031 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:28:01,201 INFO L290 TraceCheckUtils]: 31: Hoare triple {2144#false} assume !false; {2144#false} is VALID [2022-02-20 14:28:01,201 INFO L290 TraceCheckUtils]: 30: Hoare triple {2144#false} assume 0 == __VERIFIER_assert_~cond#1; {2144#false} is VALID [2022-02-20 14:28:01,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {2144#false} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2144#false} is VALID [2022-02-20 14:28:01,201 INFO L290 TraceCheckUtils]: 28: Hoare triple {2144#false} assume !(main_~i~0#1 < ~N~0); {2144#false} is VALID [2022-02-20 14:28:01,201 INFO L290 TraceCheckUtils]: 27: Hoare triple {2144#false} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2144#false} is VALID [2022-02-20 14:28:01,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {2144#false} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2144#false} is VALID [2022-02-20 14:28:01,202 INFO L290 TraceCheckUtils]: 25: Hoare triple {2153#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < ~N~0); {2144#false} is VALID [2022-02-20 14:28:01,202 INFO L290 TraceCheckUtils]: 24: Hoare triple {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2153#(<= ~N~0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 14:28:01,203 INFO L290 TraceCheckUtils]: 23: Hoare triple {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:01,203 INFO L290 TraceCheckUtils]: 22: Hoare triple {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:01,203 INFO L290 TraceCheckUtils]: 21: Hoare triple {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2152#(<= ~N~0 (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:01,204 INFO L290 TraceCheckUtils]: 20: Hoare triple {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:01,204 INFO L290 TraceCheckUtils]: 19: Hoare triple {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < ~N~0); {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:01,205 INFO L290 TraceCheckUtils]: 18: Hoare triple {2294#(<= ~N~0 (+ 3 |ULTIMATE.start_main_~i~0#1|))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2151#(<= ~N~0 (+ 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:01,205 INFO L290 TraceCheckUtils]: 17: Hoare triple {2294#(<= ~N~0 (+ 3 |ULTIMATE.start_main_~i~0#1|))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {2294#(<= ~N~0 (+ 3 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:01,205 INFO L290 TraceCheckUtils]: 16: Hoare triple {2294#(<= ~N~0 (+ 3 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < ~N~0); {2294#(<= ~N~0 (+ 3 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:01,206 INFO L290 TraceCheckUtils]: 15: Hoare triple {2149#(<= ~N~0 3)} main_~i~0#1 := 0; {2294#(<= ~N~0 (+ 3 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:01,206 INFO L290 TraceCheckUtils]: 14: Hoare triple {2148#(<= |ULTIMATE.start_main_~i~0#1| 3)} assume !(main_~i~0#1 < ~N~0); {2149#(<= ~N~0 3)} is VALID [2022-02-20 14:28:01,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2148#(<= |ULTIMATE.start_main_~i~0#1| 3)} is VALID [2022-02-20 14:28:01,207 INFO L290 TraceCheckUtils]: 12: Hoare triple {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:28:01,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} assume !!(main_~i~0#1 < ~N~0); {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:28:01,208 INFO L290 TraceCheckUtils]: 10: Hoare triple {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2147#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 14:28:01,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:28:01,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < ~N~0); {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:28:01,209 INFO L290 TraceCheckUtils]: 7: Hoare triple {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2146#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 14:28:01,210 INFO L290 TraceCheckUtils]: 6: Hoare triple {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:28:01,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < ~N~0); {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:28:01,211 INFO L290 TraceCheckUtils]: 4: Hoare triple {2143#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {2169#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 14:28:01,211 INFO L290 TraceCheckUtils]: 3: Hoare triple {2143#true} assume !(0 == assume_abort_if_not_~cond#1); {2143#true} is VALID [2022-02-20 14:28:01,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {2143#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2143#true} is VALID [2022-02-20 14:28:01,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {2143#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2143#true} is VALID [2022-02-20 14:28:01,211 INFO L290 TraceCheckUtils]: 0: Hoare triple {2143#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {2143#true} is VALID [2022-02-20 14:28:01,212 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 22 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:28:01,212 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [70416097] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:28:01,212 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 14:28:01,212 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 17 [2022-02-20 14:28:01,213 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [880234693] [2022-02-20 14:28:01,213 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 14:28:01,215 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 3.0) internal successors, (51), 17 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 14:28:01,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:28:01,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 3.0) internal successors, (51), 17 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:01,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:28:01,253 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 14:28:01,253 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:28:01,254 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 14:28:01,254 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=197, Unknown=0, NotChecked=0, Total=272 [2022-02-20 14:28:01,254 INFO L87 Difference]: Start difference. First operand 42 states and 45 transitions. Second operand has 17 states, 17 states have (on average 3.0) internal successors, (51), 17 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:01,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:28:01,748 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2022-02-20 14:28:01,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 14:28:01,750 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 3.0) internal successors, (51), 17 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 14:28:01,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:28:01,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 3.0) internal successors, (51), 17 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:01,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-02-20 14:28:01,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 3.0) internal successors, (51), 17 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:01,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-02-20 14:28:01,759 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 64 transitions. [2022-02-20 14:28:01,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:28:01,821 INFO L225 Difference]: With dead ends: 74 [2022-02-20 14:28:01,822 INFO L226 Difference]: Without dead ends: 56 [2022-02-20 14:28:01,822 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 107 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=117, Invalid=303, Unknown=0, NotChecked=0, Total=420 [2022-02-20 14:28:01,824 INFO L933 BasicCegarLoop]: 11 mSDtfsCounter, 53 mSDsluCounter, 33 mSDsCounter, 0 mSdLazyCounter, 169 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 169 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 14:28:01,827 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 44 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 169 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 14:28:01,827 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-02-20 14:28:01,920 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 42. [2022-02-20 14:28:01,920 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:28:01,920 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 42 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 41 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:01,921 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 42 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 41 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:01,921 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 42 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 41 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:01,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:28:01,922 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2022-02-20 14:28:01,922 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 58 transitions. [2022-02-20 14:28:01,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:28:01,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:28:01,923 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 41 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 56 states. [2022-02-20 14:28:01,923 INFO L87 Difference]: Start difference. First operand has 42 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 41 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 56 states. [2022-02-20 14:28:01,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:28:01,924 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2022-02-20 14:28:01,924 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 58 transitions. [2022-02-20 14:28:01,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:28:01,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:28:01,925 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:28:01,925 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:28:01,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 41 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:01,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 44 transitions. [2022-02-20 14:28:01,926 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 44 transitions. Word has length 32 [2022-02-20 14:28:01,926 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:28:01,926 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 44 transitions. [2022-02-20 14:28:01,926 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 3.0) internal successors, (51), 17 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 14:28:01,926 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 44 transitions. [2022-02-20 14:28:01,927 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 14:28:01,927 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:28:01,927 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:28:01,951 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 14:28:02,151 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:28:02,151 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:28:02,151 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:28:02,151 INFO L85 PathProgramCache]: Analyzing trace with hash -1277658368, now seen corresponding path program 7 times [2022-02-20 14:28:02,152 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:28:02,152 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1847325503] [2022-02-20 14:28:02,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:28:02,152 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:28:02,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:28:03,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {2616#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {2616#true} is VALID [2022-02-20 14:28:03,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {2616#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2616#true} is VALID [2022-02-20 14:28:03,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {2616#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2616#true} is VALID [2022-02-20 14:28:03,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {2616#true} assume !(0 == assume_abort_if_not_~cond#1); {2616#true} is VALID [2022-02-20 14:28:03,454 INFO L290 TraceCheckUtils]: 4: Hoare triple {2616#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:28:03,454 INFO L290 TraceCheckUtils]: 5: Hoare triple {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~i~0#1 < ~N~0); {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:28:03,455 INFO L290 TraceCheckUtils]: 6: Hoare triple {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:28:03,455 INFO L290 TraceCheckUtils]: 7: Hoare triple {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2619#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:03,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {2619#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {2619#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:03,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {2619#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2620#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:03,457 INFO L290 TraceCheckUtils]: 10: Hoare triple {2620#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2621#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:03,458 INFO L290 TraceCheckUtils]: 11: Hoare triple {2621#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < ~N~0); {2621#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:03,459 INFO L290 TraceCheckUtils]: 12: Hoare triple {2621#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2622#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 14:28:03,460 INFO L290 TraceCheckUtils]: 13: Hoare triple {2622#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= 2 |ULTIMATE.start_main_~i~0#1|))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2623#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 14:28:03,461 INFO L290 TraceCheckUtils]: 14: Hoare triple {2623#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} assume !!(main_~i~0#1 < ~N~0); {2624#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 14:28:03,462 INFO L290 TraceCheckUtils]: 15: Hoare triple {2624#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2625#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~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))) 1) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} is VALID [2022-02-20 14:28:03,463 INFO L290 TraceCheckUtils]: 16: Hoare triple {2625#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~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))) 1) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4))))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2626#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} is VALID [2022-02-20 14:28:03,463 INFO L290 TraceCheckUtils]: 17: Hoare triple {2626#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} assume !(main_~i~0#1 < ~N~0); {2626#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} is VALID [2022-02-20 14:28:03,464 INFO L290 TraceCheckUtils]: 18: Hoare triple {2626#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} main_~i~0#1 := 0; {2627#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} is VALID [2022-02-20 14:28:03,464 INFO L290 TraceCheckUtils]: 19: Hoare triple {2627#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} assume !!(main_~i~0#1 < ~N~0); {2627#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} is VALID [2022-02-20 14:28:03,465 INFO L290 TraceCheckUtils]: 20: Hoare triple {2627#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (= |ULTIMATE.start_main_~i~0#1| 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {2628#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (= |ULTIMATE.start_main_~i~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} is VALID [2022-02-20 14:28:03,466 INFO L290 TraceCheckUtils]: 21: Hoare triple {2628#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< 4 ~N~0)) (= |ULTIMATE.start_main_~i~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2629#(and (or (= (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))) 1) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:03,467 INFO L290 TraceCheckUtils]: 22: Hoare triple {2629#(and (or (= (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))) 1) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {2629#(and (or (= (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))) 1) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:03,468 INFO L290 TraceCheckUtils]: 23: Hoare triple {2629#(and (or (= (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))) 1) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2630#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (or (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4)) (<= (+ 3 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:03,469 INFO L290 TraceCheckUtils]: 24: Hoare triple {2630#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 ~N~0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (* ~N~0 4) |ULTIMATE.start_main_~a~0#1.offset| (- 8))) 1) (< (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0)) (or (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 4)) (<= (+ 3 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2631#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 9 (* |ULTIMATE.start_main_~i~0#1| 4)) (* ~N~0 4)) (<= (+ 3 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= 4 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0) (= (+ (- 1) (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)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} is VALID [2022-02-20 14:28:03,470 INFO L290 TraceCheckUtils]: 25: Hoare triple {2631#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 9 (* |ULTIMATE.start_main_~i~0#1| 4)) (* ~N~0 4)) (<= (+ 3 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= 4 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0) (= (+ (- 1) (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)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} assume !!(main_~i~0#1 < ~N~0); {2631#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 9 (* |ULTIMATE.start_main_~i~0#1| 4)) (* ~N~0 4)) (<= (+ 3 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= 4 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0) (= (+ (- 1) (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)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} is VALID [2022-02-20 14:28:03,470 INFO L290 TraceCheckUtils]: 26: Hoare triple {2631#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 9 (* |ULTIMATE.start_main_~i~0#1| 4)) (* ~N~0 4)) (<= (+ 3 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= 4 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (<= (+ 3 |ULTIMATE.start_main_~i~0#1|) ~N~0) (= (+ (- 1) (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)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2632#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 9 (* |ULTIMATE.start_main_~i~0#1| 4)) (* ~N~0 4)) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= 4 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} is VALID [2022-02-20 14:28:03,471 INFO L290 TraceCheckUtils]: 27: Hoare triple {2632#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 9 (* |ULTIMATE.start_main_~i~0#1| 4)) (* ~N~0 4)) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0)) (<= 4 ~N~0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 12) 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2633#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (and (= (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))) 1) (or (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0))) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (<= 4 ~N~0) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12))} is VALID [2022-02-20 14:28:03,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {2633#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (and (= (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))) 1) (or (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0))) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (<= 4 ~N~0) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12))} assume !!(main_~i~0#1 < ~N~0); {2633#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (and (= (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))) 1) (or (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0))) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (<= 4 ~N~0) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12))} is VALID [2022-02-20 14:28:03,473 INFO L290 TraceCheckUtils]: 29: Hoare triple {2633#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (or (and (= (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))) 1) (or (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (<= (+ 2 (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|)) ~N~0))) (not (= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12))) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (or (<= 4 ~N~0) (< 11 (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)))) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| (* |ULTIMATE.start_main_~i~0#1| 4)) 12))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2634#(or (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0))} is VALID [2022-02-20 14:28:03,473 INFO L290 TraceCheckUtils]: 30: Hoare triple {2634#(or (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) ~N~0) (<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2635#(or (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0))} is VALID [2022-02-20 14:28:03,474 INFO L290 TraceCheckUtils]: 31: Hoare triple {2635#(or (<= (+ |ULTIMATE.start_main_~i~0#1| 1) ~N~0) (<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0))} assume !(main_~i~0#1 < ~N~0); {2636#(<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0)} is VALID [2022-02-20 14:28:03,475 INFO L290 TraceCheckUtils]: 32: Hoare triple {2636#(<= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 1) ~N~0)} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2637#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} is VALID [2022-02-20 14:28:03,475 INFO L290 TraceCheckUtils]: 33: Hoare triple {2637#(not (= |ULTIMATE.start___VERIFIER_assert_~cond#1| 0))} assume 0 == __VERIFIER_assert_~cond#1; {2617#false} is VALID [2022-02-20 14:28:03,475 INFO L290 TraceCheckUtils]: 34: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-02-20 14:28:03,475 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:28:03,475 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:28:03,476 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1847325503] [2022-02-20 14:28:03,476 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1847325503] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:28:03,476 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1439367668] [2022-02-20 14:28:03,476 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-02-20 14:28:03,476 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:28:03,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:28:03,477 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 14:28:03,478 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 14:28:03,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:28:03,530 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 50 conjunts are in the unsatisfiable core [2022-02-20 14:28:03,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:28:03,545 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:28:03,563 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-02-20 14:28:03,649 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-02-20 14:28:03,789 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:03,790 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2022-02-20 14:28:04,046 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:04,047 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:04,047 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:04,049 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 42 [2022-02-20 14:28:04,748 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:04,749 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:04,750 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:04,751 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 52 [2022-02-20 14:28:05,335 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:05,336 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:05,337 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:05,338 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:05,339 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:28:05,341 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 5 select indices, 5 select index equivalence classes, 4 disjoint index pairs (out of 10 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 71 treesize of output 59 [2022-02-20 14:28:06,001 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:06,002 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:28:06,003 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:06,004 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:06,006 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 5 select indices, 5 select index equivalence classes, 4 disjoint index pairs (out of 10 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 80 treesize of output 60 [2022-02-20 14:28:06,872 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:06,873 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:06,874 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:06,875 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:28:06,877 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 5 select indices, 5 select index equivalence classes, 4 disjoint index pairs (out of 10 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 73 treesize of output 54 [2022-02-20 14:28:08,045 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:08,046 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:08,047 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:28:08,049 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 19 [2022-02-20 14:28:08,288 INFO L290 TraceCheckUtils]: 0: Hoare triple {2616#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(7, 2);call write~init~int(98, 2, 0, 1);call write~init~int(114, 2, 1, 1);call write~init~int(115, 2, 2, 1);call write~init~int(49, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3);~N~0 := 0; {2616#true} is VALID [2022-02-20 14:28:08,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {2616#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~malloc5#1.base, main_#t~malloc5#1.offset, main_#t~post6#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post7#1, main_#t~mem10#1, main_~i~0#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;~N~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2616#true} is VALID [2022-02-20 14:28:08,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {2616#true} assume !(~N~0 <= 0);assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if ~N~0 % 4294967296 <= 536870911 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2616#true} is VALID [2022-02-20 14:28:08,288 INFO L290 TraceCheckUtils]: 3: Hoare triple {2616#true} assume !(0 == assume_abort_if_not_~cond#1); {2616#true} is VALID [2022-02-20 14:28:08,289 INFO L290 TraceCheckUtils]: 4: Hoare triple {2616#true} assume { :end_inline_assume_abort_if_not } true;havoc main_~i~0#1;call main_~#sum~0#1.base, main_~#sum~0#1.offset := #Ultimate.allocOnStack(4);call main_#t~malloc5#1.base, main_#t~malloc5#1.offset := #Ultimate.allocOnHeap(4 * ~N~0);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc5#1.base, main_#t~malloc5#1.offset;havoc main_#t~malloc5#1.base, main_#t~malloc5#1.offset;main_~i~0#1 := 0; {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:28:08,290 INFO L290 TraceCheckUtils]: 5: Hoare triple {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_~i~0#1 < ~N~0); {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:28:08,290 INFO L290 TraceCheckUtils]: 6: Hoare triple {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 14:28:08,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {2618#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2619#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:08,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {2619#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < ~N~0); {2619#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:08,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {2619#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2668#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 14:28:08,293 INFO L290 TraceCheckUtils]: 10: Hoare triple {2668#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2672#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:28:08,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {2672#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume !!(main_~i~0#1 < ~N~0); {2672#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:28:08,294 INFO L290 TraceCheckUtils]: 12: Hoare triple {2672#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2679#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:28:08,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {2679#(and (= |ULTIMATE.start_main_~a~0#1.offset| 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))) 1) (<= |ULTIMATE.start_main_~i~0#1| 2) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 2 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2683#(and (<= (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) (- 8))) 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:28:08,295 INFO L290 TraceCheckUtils]: 14: Hoare triple {2683#(and (<= (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) (- 8))) 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 |ULTIMATE.start_main_~i~0#1|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume !!(main_~i~0#1 < ~N~0); {2687#(and (<= (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) (- 8))) 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:28:08,297 INFO L290 TraceCheckUtils]: 15: Hoare triple {2687#(and (<= (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) (- 8))) 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 3) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume 0 == (if main_~i~0#1 < 0 && 0 != main_~i~0#1 % 1 then main_~i~0#1 % 1 - 1 else main_~i~0#1 % 1);call write~int(1, main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4); {2691#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:28:08,298 INFO L290 TraceCheckUtils]: 16: Hoare triple {2691#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2691#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:28:08,299 INFO L290 TraceCheckUtils]: 17: Hoare triple {2691#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} assume !(main_~i~0#1 < ~N~0); {2691#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:28:08,300 INFO L290 TraceCheckUtils]: 18: Hoare triple {2691#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} main_~i~0#1 := 0; {2701#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:28:08,301 INFO L290 TraceCheckUtils]: 19: Hoare triple {2701#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} assume !!(main_~i~0#1 < ~N~0); {2701#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} is VALID [2022-02-20 14:28:08,302 INFO L290 TraceCheckUtils]: 20: Hoare triple {2701#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|ULTIMATE.start_main_~i~0#1| Int)) (and (<= (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) (- 8))) 1) (<= |ULTIMATE.start_main_~i~0#1| 3) (<= (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))) 1) (<= 3 |ULTIMATE.start_main_~i~0#1|) (< |ULTIMATE.start_main_~i~0#1| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))))} assume 0 == main_~i~0#1;call write~int(0, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4); {2708#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4) (- 8))) 1) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))))} is VALID [2022-02-20 14:28:08,303 INFO L290 TraceCheckUtils]: 21: Hoare triple {2708#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4) (- 8))) 1) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2712#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4) (- 8))) 1) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))))} is VALID [2022-02-20 14:28:08,303 INFO L290 TraceCheckUtils]: 22: Hoare triple {2712#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4) (- 8))) 1) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))))} assume !!(main_~i~0#1 < ~N~0); {2712#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4) (- 8))) 1) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))))} is VALID [2022-02-20 14:28:08,305 INFO L290 TraceCheckUtils]: 23: Hoare triple {2712#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4) (- 8))) 1) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2719#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= (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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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)))))} is VALID [2022-02-20 14:28:08,306 INFO L290 TraceCheckUtils]: 24: Hoare triple {2719#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (<= (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))) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (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)))))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2723#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4)))) (= 0 (+ (- 2) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:28:08,307 INFO L290 TraceCheckUtils]: 25: Hoare triple {2723#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4)))) (= 0 (+ (- 2) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume !!(main_~i~0#1 < ~N~0); {2723#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4)))) (= 0 (+ (- 2) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:28:08,308 INFO L290 TraceCheckUtils]: 26: Hoare triple {2723#(and (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4)))) (= 0 (+ (- 2) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2730#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))))) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))) (= 0 (+ (- 2) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} is VALID [2022-02-20 14:28:08,309 INFO L290 TraceCheckUtils]: 27: Hoare triple {2730#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))))) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|))) (= 0 (+ (- 2) |ULTIMATE.start_main_~i~0#1|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |ULTIMATE.start_main_~i~0#1| 4))) 1))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2734#(and (<= (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) (- 8))) 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (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) (- 8))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))))))) (= (+ (- 3) |ULTIMATE.start_main_~i~0#1|) 0))} is VALID [2022-02-20 14:28:08,310 INFO L290 TraceCheckUtils]: 28: Hoare triple {2734#(and (<= (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) (- 8))) 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (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) (- 8))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))))))) (= (+ (- 3) |ULTIMATE.start_main_~i~0#1|) 0))} assume !!(main_~i~0#1 < ~N~0); {2734#(and (<= (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) (- 8))) 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (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) (- 8))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))))))) (= (+ (- 3) |ULTIMATE.start_main_~i~0#1|) 0))} is VALID [2022-02-20 14:28:08,312 INFO L290 TraceCheckUtils]: 29: Hoare triple {2734#(and (<= (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) (- 8))) 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (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) (- 8))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))))))) (= (+ (- 3) |ULTIMATE.start_main_~i~0#1|) 0))} assume !(0 == main_~i~0#1);call main_#t~mem8#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);call main_#t~mem9#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset + 4 * main_~i~0#1, 4);call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);havoc main_#t~mem8#1;havoc main_#t~mem9#1; {2741#(exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|)))} is VALID [2022-02-20 14:28:08,313 INFO L290 TraceCheckUtils]: 30: Hoare triple {2741#(exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|)))} main_#t~post7#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; {2741#(exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|)))} is VALID [2022-02-20 14:28:08,314 INFO L290 TraceCheckUtils]: 31: Hoare triple {2741#(exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|)))} assume !(main_~i~0#1 < ~N~0); {2741#(exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|)))} is VALID [2022-02-20 14:28:08,315 INFO L290 TraceCheckUtils]: 32: Hoare triple {2741#(exists ((|ULTIMATE.start_main_~a~0#1.base| Int) (|v_ULTIMATE.start_main_~i~0#1_87| Int)) (and (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4) 1) (<= |v_ULTIMATE.start_main_~i~0#1_87| 3) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) 1) (<= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) 1) (not (= |ULTIMATE.start_main_~#sum~0#1.base| |ULTIMATE.start_main_~a~0#1.base|)) (< |v_ULTIMATE.start_main_~i~0#1_87| ~N~0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~#sum~0#1.base|) |ULTIMATE.start_main_~#sum~0#1.offset|) (+ (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ (- 4) (* |v_ULTIMATE.start_main_~i~0#1_87| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (* |v_ULTIMATE.start_main_~i~0#1_87| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (<= 3 |v_ULTIMATE.start_main_~i~0#1_87|)))} call main_#t~mem10#1 := read~int(main_~#sum~0#1.base, main_~#sum~0#1.offset, 4);assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_#t~mem10#1 <= ~N~0 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2751#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:28:08,316 INFO L290 TraceCheckUtils]: 33: Hoare triple {2751#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {2617#false} is VALID [2022-02-20 14:28:08,316 INFO L290 TraceCheckUtils]: 34: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-02-20 14:28:08,316 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:28:08,316 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:28:17,604 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_268 Int) (v_ArrVal_266 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_272 Int) (v_ArrVal_270 Int)) (let ((.cse0 (store |c_#memory_int| |c_ULTIMATE.start_main_~a~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~a~0#1.base|) (+ (* |c_ULTIMATE.start_main_~i~0#1| 4) |c_ULTIMATE.start_main_~a~0#1.offset|) v_ArrVal_266)))) (let ((.cse1 (select .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base|))) (or (not (<= v_ArrVal_272 (+ v_ArrVal_270 (select (select (store .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base| (store .cse1 |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_270)) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))))) (<= (+ v_ArrVal_272 (select (select (store .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base| (store .cse1 |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_272)) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 12 |c_ULTIMATE.start_main_~a~0#1.offset|))) c_~N~0) (not (<= v_ArrVal_266 1)) (not (<= v_ArrVal_268 0)) (not (<= v_ArrVal_270 (+ v_ArrVal_268 (select (select (store .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base| (store .cse1 |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_268)) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |c_ULTIMATE.start_main_~a~0#1.offset| 4))))))))) is different from false [2022-02-20 14:28:20,812 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_268 Int) (v_ArrVal_266 Int) (|ULTIMATE.start_main_~#sum~0#1.offset| Int) (v_ArrVal_272 Int) (v_ArrVal_270 Int)) (let ((.cse0 (store |c_#memory_int| |c_ULTIMATE.start_main_~a~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~a~0#1.base|) (+ (* |c_ULTIMATE.start_main_~i~0#1| 4) |c_ULTIMATE.start_main_~a~0#1.offset|) v_ArrVal_266)))) (let ((.cse1 (select .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base|))) (or (<= (+ v_ArrVal_272 (select (select (store .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base| (store .cse1 |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_272)) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 12 |c_ULTIMATE.start_main_~a~0#1.offset|))) (+ |c_ULTIMATE.start_main_~i~0#1| 1)) (not (<= v_ArrVal_272 (+ v_ArrVal_270 (select (select (store .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base| (store .cse1 |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_270)) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))))) (not (<= v_ArrVal_266 1)) (not (<= v_ArrVal_268 0)) (not (<= v_ArrVal_270 (+ v_ArrVal_268 (select (select (store .cse0 |c_ULTIMATE.start_main_~#sum~0#1.base| (store .cse1 |ULTIMATE.start_main_~#sum~0#1.offset| v_ArrVal_268)) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |c_ULTIMATE.start_main_~a~0#1.offset| 4))))))))) is different from false