./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/array-patterns/array24_pattern.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-patterns/array24_pattern.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 b41c571dabcbc4670dde65107f8da5b879f13435b678b4e9a9cdcc7ef0066cf6 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 14:23:47,457 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 14:23:47,460 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 14:23:47,504 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 14:23:47,504 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 14:23:47,507 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 14:23:47,509 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 14:23:47,511 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 14:23:47,513 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 14:23:47,516 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 14:23:47,517 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 14:23:47,519 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 14:23:47,519 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 14:23:47,521 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 14:23:47,522 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 14:23:47,525 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 14:23:47,526 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 14:23:47,526 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 14:23:47,528 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 14:23:47,533 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 14:23:47,534 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 14:23:47,535 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 14:23:47,537 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 14:23:47,537 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 14:23:47,543 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 14:23:47,544 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 14:23:47,544 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 14:23:47,545 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 14:23:47,546 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 14:23:47,546 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 14:23:47,547 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 14:23:47,548 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 14:23:47,549 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 14:23:47,550 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 14:23:47,551 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 14:23:47,551 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 14:23:47,552 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 14:23:47,552 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 14:23:47,552 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 14:23:47,553 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 14:23:47,554 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 14:23:47,555 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:23:47,584 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 14:23:47,584 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 14:23:47,585 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 14:23:47,585 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 14:23:47,586 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 14:23:47,586 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 14:23:47,586 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 14:23:47,587 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 14:23:47,587 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 14:23:47,587 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 14:23:47,588 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 14:23:47,588 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 14:23:47,588 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 14:23:47,588 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 14:23:47,589 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 14:23:47,589 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 14:23:47,589 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 14:23:47,589 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 14:23:47,589 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 14:23:47,589 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 14:23:47,590 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 14:23:47,590 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 14:23:47,590 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 14:23:47,590 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 14:23:47,590 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:23:47,591 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 14:23:47,591 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 14:23:47,591 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 14:23:47,591 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 14:23:47,591 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 14:23:47,592 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 14:23:47,592 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 14:23:47,592 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 14:23:47,592 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 -> b41c571dabcbc4670dde65107f8da5b879f13435b678b4e9a9cdcc7ef0066cf6 [2022-02-20 14:23:47,823 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 14:23:47,840 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 14:23:47,842 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 14:23:47,843 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 14:23:47,844 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 14:23:47,845 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-patterns/array24_pattern.c [2022-02-20 14:23:47,906 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/76ae2e19a/14c3df3b1501489980e7f0bdde0971bb/FLAGdb26d922f [2022-02-20 14:23:48,230 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 14:23:48,231 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-patterns/array24_pattern.c [2022-02-20 14:23:48,235 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/76ae2e19a/14c3df3b1501489980e7f0bdde0971bb/FLAGdb26d922f [2022-02-20 14:23:48,256 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/76ae2e19a/14c3df3b1501489980e7f0bdde0971bb [2022-02-20 14:23:48,258 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 14:23:48,259 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 14:23:48,263 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 14:23:48,263 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 14:23:48,266 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 14:23:48,267 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,268 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c273a78 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48, skipping insertion in model container [2022-02-20 14:23:48,268 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,273 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 14:23:48,290 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 14:23:48,437 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-patterns/array24_pattern.c[1359,1372] [2022-02-20 14:23:48,466 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:23:48,473 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 14:23:48,482 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-patterns/array24_pattern.c[1359,1372] [2022-02-20 14:23:48,496 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:23:48,507 INFO L208 MainTranslator]: Completed translation [2022-02-20 14:23:48,507 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48 WrapperNode [2022-02-20 14:23:48,508 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 14:23:48,508 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 14:23:48,509 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 14:23:48,509 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 14:23:48,514 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:23:48" (1/1) ... [2022-02-20 14:23:48,520 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:23:48" (1/1) ... [2022-02-20 14:23:48,542 INFO L137 Inliner]: procedures = 17, calls = 20, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 105 [2022-02-20 14:23:48,542 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 14:23:48,543 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 14:23:48,543 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 14:23:48,543 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 14:23:48,550 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,551 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,553 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,553 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,558 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,562 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,564 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,565 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 14:23:48,566 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 14:23:48,566 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 14:23:48,567 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 14:23:48,567 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48" (1/1) ... [2022-02-20 14:23:48,576 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:23:48,586 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:23:48,604 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:23:48,623 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:23:48,656 INFO L130 BoogieDeclarations]: Found specification of procedure outerBoundaryPatternCheck [2022-02-20 14:23:48,656 INFO L138 BoogieDeclarations]: Found implementation of procedure outerBoundaryPatternCheck [2022-02-20 14:23:48,656 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 14:23:48,656 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 14:23:48,657 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 14:23:48,657 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 14:23:48,657 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 14:23:48,657 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 14:23:48,657 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 14:23:48,658 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 14:23:48,658 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 14:23:48,658 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 14:23:48,733 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 14:23:48,735 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 14:23:49,043 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 14:23:49,048 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 14:23:49,049 INFO L299 CfgBuilder]: Removed 5 assume(true) statements. [2022-02-20 14:23:49,050 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:23:49 BoogieIcfgContainer [2022-02-20 14:23:49,050 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 14:23:49,052 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 14:23:49,052 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 14:23:49,057 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 14:23:49,057 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 02:23:48" (1/3) ... [2022-02-20 14:23:49,058 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6e6ffc7f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:23:49, skipping insertion in model container [2022-02-20 14:23:49,058 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:23:48" (2/3) ... [2022-02-20 14:23:49,058 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6e6ffc7f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:23:49, skipping insertion in model container [2022-02-20 14:23:49,058 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:23:49" (3/3) ... [2022-02-20 14:23:49,059 INFO L111 eAbstractionObserver]: Analyzing ICFG array24_pattern.c [2022-02-20 14:23:49,063 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 14:23:49,064 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 14:23:49,101 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 14:23:49,115 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:23:49,116 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 14:23:49,137 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 31 states have (on average 1.5483870967741935) internal successors, (48), 32 states have internal predecessors, (48), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:49,143 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 14:23:49,143 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:23:49,143 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:23:49,144 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:23:49,154 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:23:49,155 INFO L85 PathProgramCache]: Analyzing trace with hash 2136211159, now seen corresponding path program 1 times [2022-02-20 14:23:49,166 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:23:49,167 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2026589515] [2022-02-20 14:23:49,167 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:23:49,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:23:49,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:49,315 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:23:49,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:49,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-02-20 14:23:49,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-02-20 14:23:49,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-02-20 14:23:49,345 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #120#return; {44#false} is VALID [2022-02-20 14:23:49,346 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {43#true} is VALID [2022-02-20 14:23:49,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {43#true} is VALID [2022-02-20 14:23:49,347 INFO L272 TraceCheckUtils]: 2: Hoare triple {43#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {43#true} is VALID [2022-02-20 14:23:49,347 INFO L290 TraceCheckUtils]: 3: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-02-20 14:23:49,348 INFO L290 TraceCheckUtils]: 4: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-02-20 14:23:49,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {44#false} assume true; {44#false} is VALID [2022-02-20 14:23:49,349 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {44#false} {43#true} #120#return; {44#false} is VALID [2022-02-20 14:23:49,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {44#false} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {44#false} is VALID [2022-02-20 14:23:49,350 INFO L290 TraceCheckUtils]: 8: Hoare triple {44#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {44#false} is VALID [2022-02-20 14:23:49,350 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-02-20 14:23:49,350 INFO L290 TraceCheckUtils]: 10: Hoare triple {44#false} main_~row~0#1 := 0; {44#false} is VALID [2022-02-20 14:23:49,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {44#false} is VALID [2022-02-20 14:23:49,351 INFO L290 TraceCheckUtils]: 12: Hoare triple {44#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {44#false} is VALID [2022-02-20 14:23:49,366 INFO L290 TraceCheckUtils]: 13: Hoare triple {44#false} assume 0 == __VERIFIER_assert_~cond#1; {44#false} is VALID [2022-02-20 14:23:49,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-02-20 14:23:49,367 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:23:49,368 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:23:49,368 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2026589515] [2022-02-20 14:23:49,369 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2026589515] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:23:49,369 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:23:49,369 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 14:23:49,371 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [781789359] [2022-02-20 14:23:49,371 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:23:49,375 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-02-20 14:23:49,377 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:23:49,380 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 14:23:49,418 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:49,419 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 14:23:49,419 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:23:49,436 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 14:23:49,437 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 14:23:49,440 INFO L87 Difference]: Start difference. First operand has 40 states, 31 states have (on average 1.5483870967741935) internal successors, (48), 32 states have internal predecessors, (48), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 14:23:49,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:49,531 INFO L93 Difference]: Finished difference Result 77 states and 115 transitions. [2022-02-20 14:23:49,531 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 14:23:49,531 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-02-20 14:23:49,532 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:23:49,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 14:23:49,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 115 transitions. [2022-02-20 14:23:49,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 14:23:49,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 115 transitions. [2022-02-20 14:23:49,556 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 115 transitions. [2022-02-20 14:23:49,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:49,706 INFO L225 Difference]: With dead ends: 77 [2022-02-20 14:23:49,706 INFO L226 Difference]: Without dead ends: 36 [2022-02-20 14:23:49,709 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 14:23:49,714 INFO L933 BasicCegarLoop]: 50 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, 50 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:23:49,715 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:23:49,729 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-02-20 14:23:49,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2022-02-20 14:23:49,742 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:23:49,744 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 36 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 28 states have internal predecessors, (36), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:49,744 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 36 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 28 states have internal predecessors, (36), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:49,745 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 36 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 28 states have internal predecessors, (36), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:49,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:49,750 INFO L93 Difference]: Finished difference Result 36 states and 46 transitions. [2022-02-20 14:23:49,750 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 46 transitions. [2022-02-20 14:23:49,751 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:49,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:49,752 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 28 states have internal predecessors, (36), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 36 states. [2022-02-20 14:23:49,753 INFO L87 Difference]: Start difference. First operand has 36 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 28 states have internal predecessors, (36), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 36 states. [2022-02-20 14:23:49,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:49,759 INFO L93 Difference]: Finished difference Result 36 states and 46 transitions. [2022-02-20 14:23:49,759 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 46 transitions. [2022-02-20 14:23:49,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:49,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:49,763 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:23:49,764 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:23:49,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 28 states have internal predecessors, (36), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:49,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 46 transitions. [2022-02-20 14:23:49,769 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 46 transitions. Word has length 15 [2022-02-20 14:23:49,769 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:23:49,770 INFO L470 AbstractCegarLoop]: Abstraction has 36 states and 46 transitions. [2022-02-20 14:23:49,770 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 14:23:49,771 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 46 transitions. [2022-02-20 14:23:49,777 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 14:23:49,777 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:23:49,778 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:23:49,778 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 14:23:49,779 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:23:49,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:23:49,780 INFO L85 PathProgramCache]: Analyzing trace with hash -699940082, now seen corresponding path program 1 times [2022-02-20 14:23:49,783 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:23:49,783 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [776115384] [2022-02-20 14:23:49,783 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:23:49,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:23:49,813 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:23:49,816 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1286294921] [2022-02-20 14:23:49,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:23:49,817 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:23:49,817 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:23:49,823 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:23:49,832 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:23:49,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:49,913 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 14:23:49,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:49,936 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:23:50,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {270#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {270#true} is VALID [2022-02-20 14:23:50,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {270#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {270#true} is VALID [2022-02-20 14:23:50,109 INFO L272 TraceCheckUtils]: 2: Hoare triple {270#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {270#true} is VALID [2022-02-20 14:23:50,110 INFO L290 TraceCheckUtils]: 3: Hoare triple {270#true} ~cond := #in~cond; {284#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 14:23:50,110 INFO L290 TraceCheckUtils]: 4: Hoare triple {284#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {288#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 14:23:50,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {288#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {288#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 14:23:50,112 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {288#(not (= |assume_abort_if_not_#in~cond| 0))} {270#true} #120#return; {295#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:23:50,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#(< 1 ~ARR_SIZE~0)} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {299#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 1 ~ARR_SIZE~0))} is VALID [2022-02-20 14:23:50,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {299#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 1 ~ARR_SIZE~0))} assume !(main_~row~0#1 < ~ARR_SIZE~0); {271#false} is VALID [2022-02-20 14:23:50,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {271#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {271#false} is VALID [2022-02-20 14:23:50,114 INFO L272 TraceCheckUtils]: 10: Hoare triple {271#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {271#false} is VALID [2022-02-20 14:23:50,114 INFO L290 TraceCheckUtils]: 11: Hoare triple {271#false} ~cond := #in~cond; {271#false} is VALID [2022-02-20 14:23:50,132 INFO L290 TraceCheckUtils]: 12: Hoare triple {271#false} assume !(0 == ~cond); {271#false} is VALID [2022-02-20 14:23:50,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {271#false} assume true; {271#false} is VALID [2022-02-20 14:23:50,132 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {271#false} {271#false} #122#return; {271#false} is VALID [2022-02-20 14:23:50,132 INFO L272 TraceCheckUtils]: 15: Hoare triple {271#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {271#false} is VALID [2022-02-20 14:23:50,133 INFO L290 TraceCheckUtils]: 16: Hoare triple {271#false} ~cond := #in~cond; {271#false} is VALID [2022-02-20 14:23:50,133 INFO L290 TraceCheckUtils]: 17: Hoare triple {271#false} assume !(0 == ~cond); {271#false} is VALID [2022-02-20 14:23:50,133 INFO L290 TraceCheckUtils]: 18: Hoare triple {271#false} assume true; {271#false} is VALID [2022-02-20 14:23:50,133 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {271#false} {271#false} #124#return; {271#false} is VALID [2022-02-20 14:23:50,134 INFO L272 TraceCheckUtils]: 20: Hoare triple {271#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {271#false} is VALID [2022-02-20 14:23:50,135 INFO L290 TraceCheckUtils]: 21: Hoare triple {271#false} ~index := #in~index; {271#false} is VALID [2022-02-20 14:23:50,137 INFO L290 TraceCheckUtils]: 22: Hoare triple {271#false} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {271#false} is VALID [2022-02-20 14:23:50,137 INFO L290 TraceCheckUtils]: 23: Hoare triple {271#false} assume true; {271#false} is VALID [2022-02-20 14:23:50,137 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {271#false} {271#false} #126#return; {271#false} is VALID [2022-02-20 14:23:50,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {271#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {271#false} is VALID [2022-02-20 14:23:50,137 INFO L290 TraceCheckUtils]: 26: Hoare triple {271#false} assume main_#t~short11#1; {271#false} is VALID [2022-02-20 14:23:50,138 INFO L290 TraceCheckUtils]: 27: Hoare triple {271#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {271#false} is VALID [2022-02-20 14:23:50,138 INFO L290 TraceCheckUtils]: 28: Hoare triple {271#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {271#false} is VALID [2022-02-20 14:23:50,138 INFO L290 TraceCheckUtils]: 29: Hoare triple {271#false} assume 0 == main_~temp~0#1; {271#false} is VALID [2022-02-20 14:23:50,141 INFO L290 TraceCheckUtils]: 30: Hoare triple {271#false} main_~row~0#1 := 0; {271#false} is VALID [2022-02-20 14:23:50,141 INFO L290 TraceCheckUtils]: 31: Hoare triple {271#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {271#false} is VALID [2022-02-20 14:23:50,142 INFO L290 TraceCheckUtils]: 32: Hoare triple {271#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {271#false} is VALID [2022-02-20 14:23:50,143 INFO L290 TraceCheckUtils]: 33: Hoare triple {271#false} assume 0 == __VERIFIER_assert_~cond#1; {271#false} is VALID [2022-02-20 14:23:50,143 INFO L290 TraceCheckUtils]: 34: Hoare triple {271#false} assume !false; {271#false} is VALID [2022-02-20 14:23:50,144 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 14:23:50,144 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:23:50,145 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:23:50,145 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [776115384] [2022-02-20 14:23:50,145 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:23:50,146 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1286294921] [2022-02-20 14:23:50,146 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1286294921] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:23:50,146 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:23:50,147 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 14:23:50,147 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [625066389] [2022-02-20 14:23:50,149 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:23:50,150 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 35 [2022-02-20 14:23:50,151 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:23:50,151 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:50,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:50,180 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 14:23:50,181 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:23:50,181 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 14:23:50,182 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 14:23:50,182 INFO L87 Difference]: Start difference. First operand 36 states and 46 transitions. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:50,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:50,496 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2022-02-20 14:23:50,496 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 14:23:50,497 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 35 [2022-02-20 14:23:50,497 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:23:50,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:50,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2022-02-20 14:23:50,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:50,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2022-02-20 14:23:50,503 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 96 transitions. [2022-02-20 14:23:50,599 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:50,601 INFO L225 Difference]: With dead ends: 76 [2022-02-20 14:23:50,601 INFO L226 Difference]: Without dead ends: 48 [2022-02-20 14:23:50,602 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-02-20 14:23:50,603 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 49 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 98 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 98 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 14:23:50,603 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 92 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 14:23:50,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-02-20 14:23:50,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 42. [2022-02-20 14:23:50,617 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:23:50,617 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 42 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 33 states have internal predecessors, (41), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:50,618 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 42 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 33 states have internal predecessors, (41), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:50,618 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 42 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 33 states have internal predecessors, (41), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:50,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:50,621 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-02-20 14:23:50,621 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-02-20 14:23:50,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:50,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:50,622 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 33 states have internal predecessors, (41), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 48 states. [2022-02-20 14:23:50,622 INFO L87 Difference]: Start difference. First operand has 42 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 33 states have internal predecessors, (41), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 48 states. [2022-02-20 14:23:50,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:50,625 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-02-20 14:23:50,625 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-02-20 14:23:50,625 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:50,625 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:50,626 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:23:50,626 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:23:50,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 33 states have internal predecessors, (41), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:50,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 51 transitions. [2022-02-20 14:23:50,628 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 51 transitions. Word has length 35 [2022-02-20 14:23:50,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:23:50,628 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 51 transitions. [2022-02-20 14:23:50,629 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:50,629 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 51 transitions. [2022-02-20 14:23:50,630 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 14:23:50,630 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:23:50,630 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:23:50,655 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:23:50,843 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:23:50,844 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:23:50,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:23:50,844 INFO L85 PathProgramCache]: Analyzing trace with hash -1308831759, now seen corresponding path program 1 times [2022-02-20 14:23:50,844 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:23:50,844 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1397549880] [2022-02-20 14:23:50,844 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:23:50,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:23:50,865 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:23:50,865 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1302741498] [2022-02-20 14:23:50,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:23:50,866 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:23:50,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:23:50,867 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:23:50,904 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:23:50,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:50,932 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 14:23:50,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:50,946 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:23:51,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {638#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {638#true} is VALID [2022-02-20 14:23:51,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {638#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {638#true} is VALID [2022-02-20 14:23:51,085 INFO L272 TraceCheckUtils]: 2: Hoare triple {638#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {638#true} is VALID [2022-02-20 14:23:51,085 INFO L290 TraceCheckUtils]: 3: Hoare triple {638#true} ~cond := #in~cond; {638#true} is VALID [2022-02-20 14:23:51,085 INFO L290 TraceCheckUtils]: 4: Hoare triple {638#true} assume !(0 == ~cond); {638#true} is VALID [2022-02-20 14:23:51,085 INFO L290 TraceCheckUtils]: 5: Hoare triple {638#true} assume true; {638#true} is VALID [2022-02-20 14:23:51,086 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {638#true} {638#true} #120#return; {638#true} is VALID [2022-02-20 14:23:51,086 INFO L290 TraceCheckUtils]: 7: Hoare triple {638#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {664#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:23:51,091 INFO L290 TraceCheckUtils]: 8: Hoare triple {664#(<= 0 |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {668#(and (< 0 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} is VALID [2022-02-20 14:23:51,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {668#(and (< 0 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {639#false} is VALID [2022-02-20 14:23:51,092 INFO L290 TraceCheckUtils]: 10: Hoare triple {639#false} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {639#false} is VALID [2022-02-20 14:23:51,092 INFO L290 TraceCheckUtils]: 11: Hoare triple {639#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {639#false} is VALID [2022-02-20 14:23:51,092 INFO L290 TraceCheckUtils]: 12: Hoare triple {639#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {639#false} is VALID [2022-02-20 14:23:51,093 INFO L272 TraceCheckUtils]: 13: Hoare triple {639#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {639#false} is VALID [2022-02-20 14:23:51,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {639#false} ~cond := #in~cond; {639#false} is VALID [2022-02-20 14:23:51,093 INFO L290 TraceCheckUtils]: 15: Hoare triple {639#false} assume !(0 == ~cond); {639#false} is VALID [2022-02-20 14:23:51,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {639#false} assume true; {639#false} is VALID [2022-02-20 14:23:51,094 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {639#false} {639#false} #122#return; {639#false} is VALID [2022-02-20 14:23:51,094 INFO L272 TraceCheckUtils]: 18: Hoare triple {639#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {639#false} is VALID [2022-02-20 14:23:51,094 INFO L290 TraceCheckUtils]: 19: Hoare triple {639#false} ~cond := #in~cond; {639#false} is VALID [2022-02-20 14:23:51,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {639#false} assume !(0 == ~cond); {639#false} is VALID [2022-02-20 14:23:51,095 INFO L290 TraceCheckUtils]: 21: Hoare triple {639#false} assume true; {639#false} is VALID [2022-02-20 14:23:51,095 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {639#false} {639#false} #124#return; {639#false} is VALID [2022-02-20 14:23:51,095 INFO L272 TraceCheckUtils]: 23: Hoare triple {639#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {639#false} is VALID [2022-02-20 14:23:51,096 INFO L290 TraceCheckUtils]: 24: Hoare triple {639#false} ~index := #in~index; {639#false} is VALID [2022-02-20 14:23:51,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {639#false} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {639#false} is VALID [2022-02-20 14:23:51,096 INFO L290 TraceCheckUtils]: 26: Hoare triple {639#false} assume true; {639#false} is VALID [2022-02-20 14:23:51,096 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {639#false} {639#false} #126#return; {639#false} is VALID [2022-02-20 14:23:51,096 INFO L290 TraceCheckUtils]: 28: Hoare triple {639#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {639#false} is VALID [2022-02-20 14:23:51,097 INFO L290 TraceCheckUtils]: 29: Hoare triple {639#false} assume main_#t~short11#1; {639#false} is VALID [2022-02-20 14:23:51,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {639#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {639#false} is VALID [2022-02-20 14:23:51,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {639#false} is VALID [2022-02-20 14:23:51,097 INFO L290 TraceCheckUtils]: 32: Hoare triple {639#false} assume 0 == main_~temp~0#1; {639#false} is VALID [2022-02-20 14:23:51,098 INFO L290 TraceCheckUtils]: 33: Hoare triple {639#false} main_~row~0#1 := 0; {639#false} is VALID [2022-02-20 14:23:51,098 INFO L290 TraceCheckUtils]: 34: Hoare triple {639#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {639#false} is VALID [2022-02-20 14:23:51,098 INFO L290 TraceCheckUtils]: 35: Hoare triple {639#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {639#false} is VALID [2022-02-20 14:23:51,098 INFO L290 TraceCheckUtils]: 36: Hoare triple {639#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {639#false} is VALID [2022-02-20 14:23:51,099 INFO L290 TraceCheckUtils]: 37: Hoare triple {639#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {639#false} is VALID [2022-02-20 14:23:51,100 INFO L290 TraceCheckUtils]: 38: Hoare triple {639#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {639#false} is VALID [2022-02-20 14:23:51,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {639#false} assume 0 == __VERIFIER_assert_~cond#1; {639#false} is VALID [2022-02-20 14:23:51,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {639#false} assume !false; {639#false} is VALID [2022-02-20 14:23:51,101 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 14:23:51,101 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:23:51,101 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:23:51,101 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1397549880] [2022-02-20 14:23:51,101 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:23:51,102 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1302741498] [2022-02-20 14:23:51,103 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1302741498] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:23:51,103 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:23:51,103 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 14:23:51,103 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1265289896] [2022-02-20 14:23:51,103 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:23:51,104 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 4 states have internal predecessors, (30), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 41 [2022-02-20 14:23:51,105 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:23:51,105 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.5) internal successors, (30), 4 states have internal predecessors, (30), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:51,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:51,141 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 14:23:51,141 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:23:51,142 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 14:23:51,142 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 14:23:51,142 INFO L87 Difference]: Start difference. First operand 42 states and 51 transitions. Second operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 4 states have internal predecessors, (30), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:51,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:51,285 INFO L93 Difference]: Finished difference Result 79 states and 99 transitions. [2022-02-20 14:23:51,286 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 14:23:51,286 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 4 states have internal predecessors, (30), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 41 [2022-02-20 14:23:51,286 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:23:51,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 4 states have internal predecessors, (30), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:51,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 93 transitions. [2022-02-20 14:23:51,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 4 states have internal predecessors, (30), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:51,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 93 transitions. [2022-02-20 14:23:51,293 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 93 transitions. [2022-02-20 14:23:51,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:51,363 INFO L225 Difference]: With dead ends: 79 [2022-02-20 14:23:51,363 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 14:23:51,364 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 14:23:51,367 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 27 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:23:51,367 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 76 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:23:51,368 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 14:23:51,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 44. [2022-02-20 14:23:51,388 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:23:51,389 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 44 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 35 states have internal predecessors, (43), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:51,389 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 44 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 35 states have internal predecessors, (43), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:51,389 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 44 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 35 states have internal predecessors, (43), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:51,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:51,391 INFO L93 Difference]: Finished difference Result 46 states and 55 transitions. [2022-02-20 14:23:51,392 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 55 transitions. [2022-02-20 14:23:51,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:51,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:51,392 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 35 states have internal predecessors, (43), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 46 states. [2022-02-20 14:23:51,393 INFO L87 Difference]: Start difference. First operand has 44 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 35 states have internal predecessors, (43), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 46 states. [2022-02-20 14:23:51,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:51,395 INFO L93 Difference]: Finished difference Result 46 states and 55 transitions. [2022-02-20 14:23:51,395 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 55 transitions. [2022-02-20 14:23:51,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:51,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:51,395 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:23:51,395 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:23:51,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 35 states have internal predecessors, (43), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:51,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 53 transitions. [2022-02-20 14:23:51,397 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 53 transitions. Word has length 41 [2022-02-20 14:23:51,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:23:51,398 INFO L470 AbstractCegarLoop]: Abstraction has 44 states and 53 transitions. [2022-02-20 14:23:51,398 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 4 states have internal predecessors, (30), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:23:51,398 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 53 transitions. [2022-02-20 14:23:51,399 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-20 14:23:51,399 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:23:51,399 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:23:51,424 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:23:51,615 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-02-20 14:23:51,616 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:23:51,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:23:51,616 INFO L85 PathProgramCache]: Analyzing trace with hash 1300942485, now seen corresponding path program 1 times [2022-02-20 14:23:51,616 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:23:51,617 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1960049975] [2022-02-20 14:23:51,617 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:23:51,617 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:23:51,643 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:23:51,643 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [236095166] [2022-02-20 14:23:51,643 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:23:51,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:23:51,643 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:23:51,645 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:23:51,653 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:23:51,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:51,710 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 14:23:51,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:51,725 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:23:51,928 INFO L290 TraceCheckUtils]: 0: Hoare triple {1024#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {1024#true} is VALID [2022-02-20 14:23:51,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {1024#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1024#true} is VALID [2022-02-20 14:23:51,929 INFO L272 TraceCheckUtils]: 2: Hoare triple {1024#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {1024#true} is VALID [2022-02-20 14:23:51,929 INFO L290 TraceCheckUtils]: 3: Hoare triple {1024#true} ~cond := #in~cond; {1038#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 14:23:51,930 INFO L290 TraceCheckUtils]: 4: Hoare triple {1038#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1042#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 14:23:51,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {1042#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1042#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 14:23:51,931 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1042#(not (= |assume_abort_if_not_#in~cond| 0))} {1024#true} #120#return; {1049#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:23:51,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {1049#(< 1 ~ARR_SIZE~0)} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {1053#(and (< 1 ~ARR_SIZE~0) (<= 0 |ULTIMATE.start_main_~row~0#1|))} is VALID [2022-02-20 14:23:51,934 INFO L290 TraceCheckUtils]: 8: Hoare triple {1053#(and (< 1 ~ARR_SIZE~0) (<= 0 |ULTIMATE.start_main_~row~0#1|))} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {1057#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} is VALID [2022-02-20 14:23:51,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {1057#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {1057#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} is VALID [2022-02-20 14:23:51,936 INFO L290 TraceCheckUtils]: 10: Hoare triple {1057#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1064#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 1))} is VALID [2022-02-20 14:23:51,936 INFO L290 TraceCheckUtils]: 11: Hoare triple {1064#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 1))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {1025#false} is VALID [2022-02-20 14:23:51,936 INFO L290 TraceCheckUtils]: 12: Hoare triple {1025#false} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1025#false} is VALID [2022-02-20 14:23:51,937 INFO L290 TraceCheckUtils]: 13: Hoare triple {1025#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {1025#false} is VALID [2022-02-20 14:23:51,937 INFO L290 TraceCheckUtils]: 14: Hoare triple {1025#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {1025#false} is VALID [2022-02-20 14:23:51,937 INFO L272 TraceCheckUtils]: 15: Hoare triple {1025#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1025#false} is VALID [2022-02-20 14:23:51,937 INFO L290 TraceCheckUtils]: 16: Hoare triple {1025#false} ~cond := #in~cond; {1025#false} is VALID [2022-02-20 14:23:51,937 INFO L290 TraceCheckUtils]: 17: Hoare triple {1025#false} assume !(0 == ~cond); {1025#false} is VALID [2022-02-20 14:23:51,938 INFO L290 TraceCheckUtils]: 18: Hoare triple {1025#false} assume true; {1025#false} is VALID [2022-02-20 14:23:51,938 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1025#false} {1025#false} #122#return; {1025#false} is VALID [2022-02-20 14:23:51,938 INFO L272 TraceCheckUtils]: 20: Hoare triple {1025#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1025#false} is VALID [2022-02-20 14:23:51,938 INFO L290 TraceCheckUtils]: 21: Hoare triple {1025#false} ~cond := #in~cond; {1025#false} is VALID [2022-02-20 14:23:51,939 INFO L290 TraceCheckUtils]: 22: Hoare triple {1025#false} assume !(0 == ~cond); {1025#false} is VALID [2022-02-20 14:23:51,939 INFO L290 TraceCheckUtils]: 23: Hoare triple {1025#false} assume true; {1025#false} is VALID [2022-02-20 14:23:51,939 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1025#false} {1025#false} #124#return; {1025#false} is VALID [2022-02-20 14:23:51,939 INFO L272 TraceCheckUtils]: 25: Hoare triple {1025#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {1025#false} is VALID [2022-02-20 14:23:51,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {1025#false} ~index := #in~index; {1025#false} is VALID [2022-02-20 14:23:51,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {1025#false} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {1025#false} is VALID [2022-02-20 14:23:51,940 INFO L290 TraceCheckUtils]: 28: Hoare triple {1025#false} assume true; {1025#false} is VALID [2022-02-20 14:23:51,940 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1025#false} {1025#false} #126#return; {1025#false} is VALID [2022-02-20 14:23:51,940 INFO L290 TraceCheckUtils]: 30: Hoare triple {1025#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {1025#false} is VALID [2022-02-20 14:23:51,940 INFO L290 TraceCheckUtils]: 31: Hoare triple {1025#false} assume main_#t~short11#1; {1025#false} is VALID [2022-02-20 14:23:51,941 INFO L290 TraceCheckUtils]: 32: Hoare triple {1025#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {1025#false} is VALID [2022-02-20 14:23:51,941 INFO L290 TraceCheckUtils]: 33: Hoare triple {1025#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {1025#false} is VALID [2022-02-20 14:23:51,941 INFO L290 TraceCheckUtils]: 34: Hoare triple {1025#false} assume 0 == main_~temp~0#1; {1025#false} is VALID [2022-02-20 14:23:51,941 INFO L290 TraceCheckUtils]: 35: Hoare triple {1025#false} main_~row~0#1 := 0; {1025#false} is VALID [2022-02-20 14:23:51,941 INFO L290 TraceCheckUtils]: 36: Hoare triple {1025#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {1025#false} is VALID [2022-02-20 14:23:51,942 INFO L290 TraceCheckUtils]: 37: Hoare triple {1025#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {1025#false} is VALID [2022-02-20 14:23:51,942 INFO L290 TraceCheckUtils]: 38: Hoare triple {1025#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {1025#false} is VALID [2022-02-20 14:23:51,942 INFO L290 TraceCheckUtils]: 39: Hoare triple {1025#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {1025#false} is VALID [2022-02-20 14:23:51,942 INFO L290 TraceCheckUtils]: 40: Hoare triple {1025#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {1025#false} is VALID [2022-02-20 14:23:51,943 INFO L290 TraceCheckUtils]: 41: Hoare triple {1025#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {1025#false} is VALID [2022-02-20 14:23:51,943 INFO L290 TraceCheckUtils]: 42: Hoare triple {1025#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1025#false} is VALID [2022-02-20 14:23:51,943 INFO L290 TraceCheckUtils]: 43: Hoare triple {1025#false} assume 0 == __VERIFIER_assert_~cond#1; {1025#false} is VALID [2022-02-20 14:23:51,943 INFO L290 TraceCheckUtils]: 44: Hoare triple {1025#false} assume !false; {1025#false} is VALID [2022-02-20 14:23:51,944 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 14:23:51,944 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:23:52,268 INFO L290 TraceCheckUtils]: 44: Hoare triple {1025#false} assume !false; {1025#false} is VALID [2022-02-20 14:23:52,268 INFO L290 TraceCheckUtils]: 43: Hoare triple {1025#false} assume 0 == __VERIFIER_assert_~cond#1; {1025#false} is VALID [2022-02-20 14:23:52,269 INFO L290 TraceCheckUtils]: 42: Hoare triple {1025#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1025#false} is VALID [2022-02-20 14:23:52,269 INFO L290 TraceCheckUtils]: 41: Hoare triple {1025#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {1025#false} is VALID [2022-02-20 14:23:52,269 INFO L290 TraceCheckUtils]: 40: Hoare triple {1025#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {1025#false} is VALID [2022-02-20 14:23:52,269 INFO L290 TraceCheckUtils]: 39: Hoare triple {1025#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {1025#false} is VALID [2022-02-20 14:23:52,269 INFO L290 TraceCheckUtils]: 38: Hoare triple {1025#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {1025#false} is VALID [2022-02-20 14:23:52,270 INFO L290 TraceCheckUtils]: 37: Hoare triple {1025#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {1025#false} is VALID [2022-02-20 14:23:52,270 INFO L290 TraceCheckUtils]: 36: Hoare triple {1025#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {1025#false} is VALID [2022-02-20 14:23:52,270 INFO L290 TraceCheckUtils]: 35: Hoare triple {1025#false} main_~row~0#1 := 0; {1025#false} is VALID [2022-02-20 14:23:52,270 INFO L290 TraceCheckUtils]: 34: Hoare triple {1025#false} assume 0 == main_~temp~0#1; {1025#false} is VALID [2022-02-20 14:23:52,270 INFO L290 TraceCheckUtils]: 33: Hoare triple {1025#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {1025#false} is VALID [2022-02-20 14:23:52,271 INFO L290 TraceCheckUtils]: 32: Hoare triple {1025#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {1025#false} is VALID [2022-02-20 14:23:52,271 INFO L290 TraceCheckUtils]: 31: Hoare triple {1025#false} assume main_#t~short11#1; {1025#false} is VALID [2022-02-20 14:23:52,271 INFO L290 TraceCheckUtils]: 30: Hoare triple {1025#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {1025#false} is VALID [2022-02-20 14:23:52,271 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1024#true} {1025#false} #126#return; {1025#false} is VALID [2022-02-20 14:23:52,271 INFO L290 TraceCheckUtils]: 28: Hoare triple {1024#true} assume true; {1024#true} is VALID [2022-02-20 14:23:52,272 INFO L290 TraceCheckUtils]: 27: Hoare triple {1024#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {1024#true} is VALID [2022-02-20 14:23:52,272 INFO L290 TraceCheckUtils]: 26: Hoare triple {1024#true} ~index := #in~index; {1024#true} is VALID [2022-02-20 14:23:52,272 INFO L272 TraceCheckUtils]: 25: Hoare triple {1025#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {1024#true} is VALID [2022-02-20 14:23:52,272 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1024#true} {1025#false} #124#return; {1025#false} is VALID [2022-02-20 14:23:52,272 INFO L290 TraceCheckUtils]: 23: Hoare triple {1024#true} assume true; {1024#true} is VALID [2022-02-20 14:23:52,273 INFO L290 TraceCheckUtils]: 22: Hoare triple {1024#true} assume !(0 == ~cond); {1024#true} is VALID [2022-02-20 14:23:52,273 INFO L290 TraceCheckUtils]: 21: Hoare triple {1024#true} ~cond := #in~cond; {1024#true} is VALID [2022-02-20 14:23:52,273 INFO L272 TraceCheckUtils]: 20: Hoare triple {1025#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1024#true} is VALID [2022-02-20 14:23:52,273 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1024#true} {1025#false} #122#return; {1025#false} is VALID [2022-02-20 14:23:52,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {1024#true} assume true; {1024#true} is VALID [2022-02-20 14:23:52,273 INFO L290 TraceCheckUtils]: 17: Hoare triple {1024#true} assume !(0 == ~cond); {1024#true} is VALID [2022-02-20 14:23:52,274 INFO L290 TraceCheckUtils]: 16: Hoare triple {1024#true} ~cond := #in~cond; {1024#true} is VALID [2022-02-20 14:23:52,274 INFO L272 TraceCheckUtils]: 15: Hoare triple {1025#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1024#true} is VALID [2022-02-20 14:23:52,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {1025#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {1025#false} is VALID [2022-02-20 14:23:52,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {1025#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {1025#false} is VALID [2022-02-20 14:23:52,274 INFO L290 TraceCheckUtils]: 12: Hoare triple {1025#false} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1025#false} is VALID [2022-02-20 14:23:52,275 INFO L290 TraceCheckUtils]: 11: Hoare triple {1266#(< |ULTIMATE.start_main_~column~0#1| ~ARR_SIZE~0)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {1025#false} is VALID [2022-02-20 14:23:52,276 INFO L290 TraceCheckUtils]: 10: Hoare triple {1270#(< (+ |ULTIMATE.start_main_~column~0#1| 1) ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1266#(< |ULTIMATE.start_main_~column~0#1| ~ARR_SIZE~0)} is VALID [2022-02-20 14:23:52,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {1270#(< (+ |ULTIMATE.start_main_~column~0#1| 1) ~ARR_SIZE~0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {1270#(< (+ |ULTIMATE.start_main_~column~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:23:52,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {1277#(or (< 1 ~ARR_SIZE~0) (not (< |ULTIMATE.start_main_~row~0#1| ~ARR_SIZE~0)))} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {1270#(< (+ |ULTIMATE.start_main_~column~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:23:52,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {1281#(or (< 1 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 0))} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {1277#(or (< 1 ~ARR_SIZE~0) (not (< |ULTIMATE.start_main_~row~0#1| ~ARR_SIZE~0)))} is VALID [2022-02-20 14:23:52,279 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1042#(not (= |assume_abort_if_not_#in~cond| 0))} {1024#true} #120#return; {1281#(or (< 1 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 0))} is VALID [2022-02-20 14:23:52,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {1042#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1042#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 14:23:52,281 INFO L290 TraceCheckUtils]: 4: Hoare triple {1294#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1042#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 14:23:52,281 INFO L290 TraceCheckUtils]: 3: Hoare triple {1024#true} ~cond := #in~cond; {1294#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 14:23:52,281 INFO L272 TraceCheckUtils]: 2: Hoare triple {1024#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {1024#true} is VALID [2022-02-20 14:23:52,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {1024#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1024#true} is VALID [2022-02-20 14:23:52,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {1024#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {1024#true} is VALID [2022-02-20 14:23:52,282 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 14:23:52,282 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:23:52,282 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1960049975] [2022-02-20 14:23:52,283 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:23:52,283 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [236095166] [2022-02-20 14:23:52,283 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [236095166] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:23:52,283 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:23:52,283 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-02-20 14:23:52,284 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2055879913] [2022-02-20 14:23:52,284 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:23:52,284 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 45 [2022-02-20 14:23:52,286 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:23:52,287 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:23:52,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:52,329 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 14:23:52,329 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:23:52,329 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 14:23:52,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-02-20 14:23:52,330 INFO L87 Difference]: Start difference. First operand 44 states and 53 transitions. Second operand has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:23:52,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:52,814 INFO L93 Difference]: Finished difference Result 85 states and 105 transitions. [2022-02-20 14:23:52,814 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 14:23:52,814 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 45 [2022-02-20 14:23:52,814 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:23:52,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:23:52,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 101 transitions. [2022-02-20 14:23:52,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:23:52,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 101 transitions. [2022-02-20 14:23:52,820 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 101 transitions. [2022-02-20 14:23:52,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:52,896 INFO L225 Difference]: With dead ends: 85 [2022-02-20 14:23:52,896 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 14:23:52,896 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=91, Invalid=251, Unknown=0, NotChecked=0, Total=342 [2022-02-20 14:23:52,897 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 56 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 151 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 187 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 151 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 14:23:52,897 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [60 Valid, 108 Invalid, 187 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 151 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 14:23:52,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 14:23:52,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 48. [2022-02-20 14:23:52,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:23:52,927 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 48 states, 39 states have (on average 1.205128205128205) internal successors, (47), 39 states have internal predecessors, (47), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:52,928 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 48 states, 39 states have (on average 1.205128205128205) internal successors, (47), 39 states have internal predecessors, (47), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:52,928 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 48 states, 39 states have (on average 1.205128205128205) internal successors, (47), 39 states have internal predecessors, (47), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:52,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:52,929 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-02-20 14:23:52,929 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-02-20 14:23:52,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:52,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:52,930 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 39 states have (on average 1.205128205128205) internal successors, (47), 39 states have internal predecessors, (47), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 50 states. [2022-02-20 14:23:52,931 INFO L87 Difference]: Start difference. First operand has 48 states, 39 states have (on average 1.205128205128205) internal successors, (47), 39 states have internal predecessors, (47), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 50 states. [2022-02-20 14:23:52,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:52,932 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-02-20 14:23:52,932 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-02-20 14:23:52,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:52,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:52,933 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:23:52,933 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:23:52,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 39 states have (on average 1.205128205128205) internal successors, (47), 39 states have internal predecessors, (47), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:52,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-02-20 14:23:52,935 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 45 [2022-02-20 14:23:52,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:23:52,935 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-02-20 14:23:52,936 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 3.6153846153846154) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 14:23:52,936 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-02-20 14:23:52,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 14:23:52,937 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:23:52,937 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:23:52,960 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-02-20 14:23:53,152 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:23:53,152 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:23:53,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:23:53,152 INFO L85 PathProgramCache]: Analyzing trace with hash 1544610617, now seen corresponding path program 2 times [2022-02-20 14:23:53,153 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:23:53,153 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1776481681] [2022-02-20 14:23:53,153 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:23:53,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:23:53,185 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:23:53,185 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [125777480] [2022-02-20 14:23:53,185 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 14:23:53,185 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:23:53,185 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:23:53,186 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:23:53,221 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:23:53,272 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 14:23:53,272 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:23:53,273 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 14:23:53,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:53,289 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:23:53,512 INFO L290 TraceCheckUtils]: 0: Hoare triple {1597#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {1597#true} is VALID [2022-02-20 14:23:53,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {1597#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1597#true} is VALID [2022-02-20 14:23:53,513 INFO L272 TraceCheckUtils]: 2: Hoare triple {1597#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {1597#true} is VALID [2022-02-20 14:23:53,513 INFO L290 TraceCheckUtils]: 3: Hoare triple {1597#true} ~cond := #in~cond; {1597#true} is VALID [2022-02-20 14:23:53,513 INFO L290 TraceCheckUtils]: 4: Hoare triple {1597#true} assume !(0 == ~cond); {1597#true} is VALID [2022-02-20 14:23:53,513 INFO L290 TraceCheckUtils]: 5: Hoare triple {1597#true} assume true; {1597#true} is VALID [2022-02-20 14:23:53,513 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1597#true} {1597#true} #120#return; {1597#true} is VALID [2022-02-20 14:23:53,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {1597#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {1623#(<= |ULTIMATE.start_main_~row~0#1| 0)} is VALID [2022-02-20 14:23:53,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {1623#(<= |ULTIMATE.start_main_~row~0#1| 0)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {1627#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 0 |ULTIMATE.start_main_~column~0#1|))} is VALID [2022-02-20 14:23:53,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {1627#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 0 |ULTIMATE.start_main_~column~0#1|))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {1627#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 0 |ULTIMATE.start_main_~column~0#1|))} is VALID [2022-02-20 14:23:53,515 INFO L290 TraceCheckUtils]: 10: Hoare triple {1627#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 0 |ULTIMATE.start_main_~column~0#1|))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1634#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 1 |ULTIMATE.start_main_~column~0#1|))} is VALID [2022-02-20 14:23:53,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {1634#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 1 |ULTIMATE.start_main_~column~0#1|))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {1638#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 1 ~ARR_SIZE~0))} is VALID [2022-02-20 14:23:53,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {1638#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 1 ~ARR_SIZE~0))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1638#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 1 ~ARR_SIZE~0))} is VALID [2022-02-20 14:23:53,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {1638#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 1 ~ARR_SIZE~0))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {1638#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 1 ~ARR_SIZE~0))} is VALID [2022-02-20 14:23:53,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {1638#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 1 ~ARR_SIZE~0))} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1648#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:23:53,522 INFO L290 TraceCheckUtils]: 15: Hoare triple {1648#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} assume !(main_~row~0#1 < ~ARR_SIZE~0); {1598#false} is VALID [2022-02-20 14:23:53,522 INFO L290 TraceCheckUtils]: 16: Hoare triple {1598#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {1598#false} is VALID [2022-02-20 14:23:53,523 INFO L272 TraceCheckUtils]: 17: Hoare triple {1598#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1598#false} is VALID [2022-02-20 14:23:53,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {1598#false} ~cond := #in~cond; {1598#false} is VALID [2022-02-20 14:23:53,523 INFO L290 TraceCheckUtils]: 19: Hoare triple {1598#false} assume !(0 == ~cond); {1598#false} is VALID [2022-02-20 14:23:53,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {1598#false} assume true; {1598#false} is VALID [2022-02-20 14:23:53,523 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1598#false} {1598#false} #122#return; {1598#false} is VALID [2022-02-20 14:23:53,523 INFO L272 TraceCheckUtils]: 22: Hoare triple {1598#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1598#false} is VALID [2022-02-20 14:23:53,524 INFO L290 TraceCheckUtils]: 23: Hoare triple {1598#false} ~cond := #in~cond; {1598#false} is VALID [2022-02-20 14:23:53,524 INFO L290 TraceCheckUtils]: 24: Hoare triple {1598#false} assume !(0 == ~cond); {1598#false} is VALID [2022-02-20 14:23:53,524 INFO L290 TraceCheckUtils]: 25: Hoare triple {1598#false} assume true; {1598#false} is VALID [2022-02-20 14:23:53,524 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1598#false} {1598#false} #124#return; {1598#false} is VALID [2022-02-20 14:23:53,524 INFO L272 TraceCheckUtils]: 27: Hoare triple {1598#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {1598#false} is VALID [2022-02-20 14:23:53,525 INFO L290 TraceCheckUtils]: 28: Hoare triple {1598#false} ~index := #in~index; {1598#false} is VALID [2022-02-20 14:23:53,525 INFO L290 TraceCheckUtils]: 29: Hoare triple {1598#false} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {1598#false} is VALID [2022-02-20 14:23:53,525 INFO L290 TraceCheckUtils]: 30: Hoare triple {1598#false} assume true; {1598#false} is VALID [2022-02-20 14:23:53,525 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1598#false} {1598#false} #126#return; {1598#false} is VALID [2022-02-20 14:23:53,525 INFO L290 TraceCheckUtils]: 32: Hoare triple {1598#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {1598#false} is VALID [2022-02-20 14:23:53,525 INFO L290 TraceCheckUtils]: 33: Hoare triple {1598#false} assume main_#t~short11#1; {1598#false} is VALID [2022-02-20 14:23:53,526 INFO L290 TraceCheckUtils]: 34: Hoare triple {1598#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {1598#false} is VALID [2022-02-20 14:23:53,526 INFO L290 TraceCheckUtils]: 35: Hoare triple {1598#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {1598#false} is VALID [2022-02-20 14:23:53,526 INFO L290 TraceCheckUtils]: 36: Hoare triple {1598#false} assume 0 == main_~temp~0#1; {1598#false} is VALID [2022-02-20 14:23:53,526 INFO L290 TraceCheckUtils]: 37: Hoare triple {1598#false} main_~row~0#1 := 0; {1598#false} is VALID [2022-02-20 14:23:53,526 INFO L290 TraceCheckUtils]: 38: Hoare triple {1598#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {1598#false} is VALID [2022-02-20 14:23:53,527 INFO L290 TraceCheckUtils]: 39: Hoare triple {1598#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {1598#false} is VALID [2022-02-20 14:23:53,527 INFO L290 TraceCheckUtils]: 40: Hoare triple {1598#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {1598#false} is VALID [2022-02-20 14:23:53,527 INFO L290 TraceCheckUtils]: 41: Hoare triple {1598#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {1598#false} is VALID [2022-02-20 14:23:53,527 INFO L290 TraceCheckUtils]: 42: Hoare triple {1598#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {1598#false} is VALID [2022-02-20 14:23:53,527 INFO L290 TraceCheckUtils]: 43: Hoare triple {1598#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {1598#false} is VALID [2022-02-20 14:23:53,527 INFO L290 TraceCheckUtils]: 44: Hoare triple {1598#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {1598#false} is VALID [2022-02-20 14:23:53,528 INFO L290 TraceCheckUtils]: 45: Hoare triple {1598#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {1598#false} is VALID [2022-02-20 14:23:53,528 INFO L290 TraceCheckUtils]: 46: Hoare triple {1598#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1598#false} is VALID [2022-02-20 14:23:53,528 INFO L290 TraceCheckUtils]: 47: Hoare triple {1598#false} assume 0 == __VERIFIER_assert_~cond#1; {1598#false} is VALID [2022-02-20 14:23:53,528 INFO L290 TraceCheckUtils]: 48: Hoare triple {1598#false} assume !false; {1598#false} is VALID [2022-02-20 14:23:53,528 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 9 proven. 4 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 14:23:53,529 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:23:53,733 INFO L290 TraceCheckUtils]: 48: Hoare triple {1598#false} assume !false; {1598#false} is VALID [2022-02-20 14:23:53,733 INFO L290 TraceCheckUtils]: 47: Hoare triple {1598#false} assume 0 == __VERIFIER_assert_~cond#1; {1598#false} is VALID [2022-02-20 14:23:53,733 INFO L290 TraceCheckUtils]: 46: Hoare triple {1598#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1598#false} is VALID [2022-02-20 14:23:53,734 INFO L290 TraceCheckUtils]: 45: Hoare triple {1598#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {1598#false} is VALID [2022-02-20 14:23:53,734 INFO L290 TraceCheckUtils]: 44: Hoare triple {1598#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {1598#false} is VALID [2022-02-20 14:23:53,734 INFO L290 TraceCheckUtils]: 43: Hoare triple {1598#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {1598#false} is VALID [2022-02-20 14:23:53,734 INFO L290 TraceCheckUtils]: 42: Hoare triple {1598#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {1598#false} is VALID [2022-02-20 14:23:53,734 INFO L290 TraceCheckUtils]: 41: Hoare triple {1598#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {1598#false} is VALID [2022-02-20 14:23:53,735 INFO L290 TraceCheckUtils]: 40: Hoare triple {1598#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {1598#false} is VALID [2022-02-20 14:23:53,735 INFO L290 TraceCheckUtils]: 39: Hoare triple {1598#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {1598#false} is VALID [2022-02-20 14:23:53,735 INFO L290 TraceCheckUtils]: 38: Hoare triple {1598#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {1598#false} is VALID [2022-02-20 14:23:53,735 INFO L290 TraceCheckUtils]: 37: Hoare triple {1598#false} main_~row~0#1 := 0; {1598#false} is VALID [2022-02-20 14:23:53,735 INFO L290 TraceCheckUtils]: 36: Hoare triple {1598#false} assume 0 == main_~temp~0#1; {1598#false} is VALID [2022-02-20 14:23:53,735 INFO L290 TraceCheckUtils]: 35: Hoare triple {1598#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {1598#false} is VALID [2022-02-20 14:23:53,736 INFO L290 TraceCheckUtils]: 34: Hoare triple {1598#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {1598#false} is VALID [2022-02-20 14:23:53,736 INFO L290 TraceCheckUtils]: 33: Hoare triple {1598#false} assume main_#t~short11#1; {1598#false} is VALID [2022-02-20 14:23:53,736 INFO L290 TraceCheckUtils]: 32: Hoare triple {1598#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {1598#false} is VALID [2022-02-20 14:23:53,736 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1597#true} {1598#false} #126#return; {1598#false} is VALID [2022-02-20 14:23:53,736 INFO L290 TraceCheckUtils]: 30: Hoare triple {1597#true} assume true; {1597#true} is VALID [2022-02-20 14:23:53,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {1597#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {1597#true} is VALID [2022-02-20 14:23:53,737 INFO L290 TraceCheckUtils]: 28: Hoare triple {1597#true} ~index := #in~index; {1597#true} is VALID [2022-02-20 14:23:53,737 INFO L272 TraceCheckUtils]: 27: Hoare triple {1598#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {1597#true} is VALID [2022-02-20 14:23:53,737 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1597#true} {1598#false} #124#return; {1598#false} is VALID [2022-02-20 14:23:53,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {1597#true} assume true; {1597#true} is VALID [2022-02-20 14:23:53,737 INFO L290 TraceCheckUtils]: 24: Hoare triple {1597#true} assume !(0 == ~cond); {1597#true} is VALID [2022-02-20 14:23:53,738 INFO L290 TraceCheckUtils]: 23: Hoare triple {1597#true} ~cond := #in~cond; {1597#true} is VALID [2022-02-20 14:23:53,738 INFO L272 TraceCheckUtils]: 22: Hoare triple {1598#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1597#true} is VALID [2022-02-20 14:23:53,738 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1597#true} {1598#false} #122#return; {1598#false} is VALID [2022-02-20 14:23:53,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {1597#true} assume true; {1597#true} is VALID [2022-02-20 14:23:53,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {1597#true} assume !(0 == ~cond); {1597#true} is VALID [2022-02-20 14:23:53,738 INFO L290 TraceCheckUtils]: 18: Hoare triple {1597#true} ~cond := #in~cond; {1597#true} is VALID [2022-02-20 14:23:53,739 INFO L272 TraceCheckUtils]: 17: Hoare triple {1598#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1597#true} is VALID [2022-02-20 14:23:53,739 INFO L290 TraceCheckUtils]: 16: Hoare triple {1598#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {1598#false} is VALID [2022-02-20 14:23:53,739 INFO L290 TraceCheckUtils]: 15: Hoare triple {1850#(< |ULTIMATE.start_main_~row~0#1| ~ARR_SIZE~0)} assume !(main_~row~0#1 < ~ARR_SIZE~0); {1598#false} is VALID [2022-02-20 14:23:53,740 INFO L290 TraceCheckUtils]: 14: Hoare triple {1854#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1850#(< |ULTIMATE.start_main_~row~0#1| ~ARR_SIZE~0)} is VALID [2022-02-20 14:23:53,740 INFO L290 TraceCheckUtils]: 13: Hoare triple {1854#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {1854#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:23:53,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {1854#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1854#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:23:53,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {1864#(<= (+ |ULTIMATE.start_main_~row~0#1| 1) |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {1854#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:23:53,742 INFO L290 TraceCheckUtils]: 10: Hoare triple {1868#(<= |ULTIMATE.start_main_~row~0#1| |ULTIMATE.start_main_~column~0#1|)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {1864#(<= (+ |ULTIMATE.start_main_~row~0#1| 1) |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:23:53,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {1868#(<= |ULTIMATE.start_main_~row~0#1| |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {1868#(<= |ULTIMATE.start_main_~row~0#1| |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:23:53,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {1623#(<= |ULTIMATE.start_main_~row~0#1| 0)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {1868#(<= |ULTIMATE.start_main_~row~0#1| |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:23:53,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {1597#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {1623#(<= |ULTIMATE.start_main_~row~0#1| 0)} is VALID [2022-02-20 14:23:53,744 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1597#true} {1597#true} #120#return; {1597#true} is VALID [2022-02-20 14:23:53,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {1597#true} assume true; {1597#true} is VALID [2022-02-20 14:23:53,744 INFO L290 TraceCheckUtils]: 4: Hoare triple {1597#true} assume !(0 == ~cond); {1597#true} is VALID [2022-02-20 14:23:53,744 INFO L290 TraceCheckUtils]: 3: Hoare triple {1597#true} ~cond := #in~cond; {1597#true} is VALID [2022-02-20 14:23:53,745 INFO L272 TraceCheckUtils]: 2: Hoare triple {1597#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {1597#true} is VALID [2022-02-20 14:23:53,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {1597#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1597#true} is VALID [2022-02-20 14:23:53,745 INFO L290 TraceCheckUtils]: 0: Hoare triple {1597#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {1597#true} is VALID [2022-02-20 14:23:53,745 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-02-20 14:23:53,746 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:23:53,746 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1776481681] [2022-02-20 14:23:53,746 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:23:53,746 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [125777480] [2022-02-20 14:23:53,746 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [125777480] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:23:53,746 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:23:53,746 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 11 [2022-02-20 14:23:53,747 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [864122211] [2022-02-20 14:23:53,747 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:23:53,748 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.2727272727272725) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 49 [2022-02-20 14:23:53,748 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:23:53,749 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 4.2727272727272725) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:23:53,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:53,792 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 14:23:53,792 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:23:53,793 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 14:23:53,793 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2022-02-20 14:23:53,793 INFO L87 Difference]: Start difference. First operand 48 states and 57 transitions. Second operand has 11 states, 11 states have (on average 4.2727272727272725) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:23:54,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:54,365 INFO L93 Difference]: Finished difference Result 106 states and 128 transitions. [2022-02-20 14:23:54,365 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 14:23:54,365 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.2727272727272725) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 49 [2022-02-20 14:23:54,366 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:23:54,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.2727272727272725) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:23:54,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 109 transitions. [2022-02-20 14:23:54,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.2727272727272725) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:23:54,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 109 transitions. [2022-02-20 14:23:54,373 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 109 transitions. [2022-02-20 14:23:54,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:23:54,463 INFO L225 Difference]: With dead ends: 106 [2022-02-20 14:23:54,463 INFO L226 Difference]: Without dead ends: 74 [2022-02-20 14:23:54,464 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 87 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=82, Invalid=190, Unknown=0, NotChecked=0, Total=272 [2022-02-20 14:23:54,465 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 43 mSDsluCounter, 144 mSDsCounter, 0 mSdLazyCounter, 162 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 202 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 162 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 14:23:54,465 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 178 Invalid, 202 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 162 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 14:23:54,466 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-02-20 14:23:54,526 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 62. [2022-02-20 14:23:54,526 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:23:54,527 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 62 states, 53 states have (on average 1.1886792452830188) internal successors, (63), 53 states have internal predecessors, (63), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:54,527 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 62 states, 53 states have (on average 1.1886792452830188) internal successors, (63), 53 states have internal predecessors, (63), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:54,528 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 62 states, 53 states have (on average 1.1886792452830188) internal successors, (63), 53 states have internal predecessors, (63), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:54,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:54,530 INFO L93 Difference]: Finished difference Result 74 states and 87 transitions. [2022-02-20 14:23:54,530 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 87 transitions. [2022-02-20 14:23:54,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:54,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:54,531 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 53 states have (on average 1.1886792452830188) internal successors, (63), 53 states have internal predecessors, (63), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 74 states. [2022-02-20 14:23:54,531 INFO L87 Difference]: Start difference. First operand has 62 states, 53 states have (on average 1.1886792452830188) internal successors, (63), 53 states have internal predecessors, (63), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 74 states. [2022-02-20 14:23:54,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:23:54,534 INFO L93 Difference]: Finished difference Result 74 states and 87 transitions. [2022-02-20 14:23:54,534 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 87 transitions. [2022-02-20 14:23:54,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:23:54,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:23:54,535 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:23:54,535 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:23:54,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 53 states have (on average 1.1886792452830188) internal successors, (63), 53 states have internal predecessors, (63), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:23:54,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 73 transitions. [2022-02-20 14:23:54,537 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 73 transitions. Word has length 49 [2022-02-20 14:23:54,537 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:23:54,537 INFO L470 AbstractCegarLoop]: Abstraction has 62 states and 73 transitions. [2022-02-20 14:23:54,538 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 4.2727272727272725) internal successors, (47), 11 states have internal predecessors, (47), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:23:54,538 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 73 transitions. [2022-02-20 14:23:54,539 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-02-20 14:23:54,539 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:23:54,539 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:23:54,564 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 14:23:54,747 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:23:54,747 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:23:54,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:23:54,748 INFO L85 PathProgramCache]: Analyzing trace with hash -725408594, now seen corresponding path program 3 times [2022-02-20 14:23:54,748 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:23:54,748 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2017766200] [2022-02-20 14:23:54,748 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:23:54,748 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:23:54,784 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:23:54,784 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [522155648] [2022-02-20 14:23:54,784 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 14:23:54,785 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:23:54,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:23:54,786 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:23:54,808 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:23:55,362 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2022-02-20 14:23:55,363 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:23:55,365 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 76 conjunts are in the unsatisfiable core [2022-02-20 14:23:55,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:23:55,423 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:23:55,635 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 61 treesize of output 56 [2022-02-20 14:23:55,642 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2022-02-20 14:23:55,650 WARN L234 Elim1Store]: Array PQE input equivalent to false [2022-02-20 14:23:55,808 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 72 treesize of output 65 [2022-02-20 14:23:55,824 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:55,825 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:55,826 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:23:55,828 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 139 [2022-02-20 14:23:55,871 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:55,872 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:23:55,873 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:23:55,874 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:23:55,875 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 93 treesize of output 17 [2022-02-20 14:23:56,145 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 77 treesize of output 68 [2022-02-20 14:23:56,154 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,157 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,158 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,194 INFO L356 Elim1Store]: treesize reduction 82, result has 5.7 percent of original size [2022-02-20 14:23:56,194 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 2 case distinctions, treesize of input 67 treesize of output 145 [2022-02-20 14:23:56,267 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,268 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,269 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,296 INFO L356 Elim1Store]: treesize reduction 211, result has 3.2 percent of original size [2022-02-20 14:23:56,296 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 98 treesize of output 26 [2022-02-20 14:23:56,508 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 92 treesize of output 81 [2022-02-20 14:23:56,517 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,519 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,718 INFO L356 Elim1Store]: treesize reduction 304, result has 14.4 percent of original size [2022-02-20 14:23:56,719 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 7 case distinctions, treesize of input 80 treesize of output 179 [2022-02-20 14:23:56,761 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,763 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:23:56,781 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:23:56,784 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:23:56,868 INFO L356 Elim1Store]: treesize reduction 507, result has 0.2 percent of original size [2022-02-20 14:23:56,868 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 2 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 9 case distinctions, treesize of input 122 treesize of output 28 [2022-02-20 14:24:04,539 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 140 treesize of output 123 [2022-02-20 14:24:04,610 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:04,612 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:04,614 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:04,615 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:04,616 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:04,617 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:05,541 INFO L356 Elim1Store]: treesize reduction 641, result has 8.3 percent of original size [2022-02-20 14:24:05,541 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 5 select indices, 5 select index equivalence classes, 6 disjoint index pairs (out of 10 index pairs), introduced 7 new quantified variables, introduced 13 case distinctions, treesize of input 122 treesize of output 189 [2022-02-20 14:24:06,019 INFO L356 Elim1Store]: treesize reduction 92, result has 1.1 percent of original size [2022-02-20 14:24:06,019 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 124 treesize of output 20 [2022-02-20 14:24:09,493 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,494 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,495 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,496 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,498 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,509 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,512 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,514 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,516 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,518 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:09,546 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 14:24:09,546 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 11 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 95 treesize of output 121 [2022-02-20 14:24:13,091 INFO L290 TraceCheckUtils]: 0: Hoare triple {2295#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {2295#true} is VALID [2022-02-20 14:24:13,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {2295#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2303#(<= ~ARR_SIZE~0 32767)} is VALID [2022-02-20 14:24:13,093 INFO L272 TraceCheckUtils]: 2: Hoare triple {2303#(<= ~ARR_SIZE~0 32767)} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {2303#(<= ~ARR_SIZE~0 32767)} is VALID [2022-02-20 14:24:13,093 INFO L290 TraceCheckUtils]: 3: Hoare triple {2303#(<= ~ARR_SIZE~0 32767)} ~cond := #in~cond; {2310#(and (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,093 INFO L290 TraceCheckUtils]: 4: Hoare triple {2310#(and (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (<= ~ARR_SIZE~0 32767))} assume !(0 == ~cond); {2314#(and (not (= |assume_abort_if_not_#in~cond| 0)) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,094 INFO L290 TraceCheckUtils]: 5: Hoare triple {2314#(and (not (= |assume_abort_if_not_#in~cond| 0)) (<= ~ARR_SIZE~0 32767))} assume true; {2314#(and (not (= |assume_abort_if_not_#in~cond| 0)) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,094 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2314#(and (not (= |assume_abort_if_not_#in~cond| 0)) (<= ~ARR_SIZE~0 32767))} {2303#(<= ~ARR_SIZE~0 32767)} #120#return; {2321#(and (< 1 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,095 INFO L290 TraceCheckUtils]: 7: Hoare triple {2321#(and (< 1 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 32767))} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {2325#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {2325#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (<= ~ARR_SIZE~0 32767))} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {2329#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (= |ULTIMATE.start_main_~column~0#1| 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,103 INFO L290 TraceCheckUtils]: 9: Hoare triple {2329#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (= |ULTIMATE.start_main_~column~0#1| 0) (<= ~ARR_SIZE~0 32767))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {2333#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (= |ULTIMATE.start_main_~column~0#1| 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,105 INFO L290 TraceCheckUtils]: 10: Hoare triple {2333#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (= |ULTIMATE.start_main_~column~0#1| 0) (<= ~ARR_SIZE~0 32767))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2337#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4) |ULTIMATE.start_main_~#array~0#1.offset| (- 4))) 0) (= |ULTIMATE.start_main_~row~0#1| 0) (= (+ (- 1) |ULTIMATE.start_main_~column~0#1|) 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,106 INFO L290 TraceCheckUtils]: 11: Hoare triple {2337#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4) |ULTIMATE.start_main_~#array~0#1.offset| (- 4))) 0) (= |ULTIMATE.start_main_~row~0#1| 0) (= (+ (- 1) |ULTIMATE.start_main_~column~0#1|) 0) (<= ~ARR_SIZE~0 32767))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {2341#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4 (* |ULTIMATE.start_main_~row~0#1| (+ (- 17179869184) (* (mod ~ARR_SIZE~0 4294967296) 4)))))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,106 INFO L290 TraceCheckUtils]: 12: Hoare triple {2341#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4 (* |ULTIMATE.start_main_~row~0#1| (+ (- 17179869184) (* (mod ~ARR_SIZE~0 4294967296) 4)))))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (<= ~ARR_SIZE~0 32767))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2341#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4 (* |ULTIMATE.start_main_~row~0#1| (+ (- 17179869184) (* (mod ~ARR_SIZE~0 4294967296) 4)))))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {2341#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4 (* |ULTIMATE.start_main_~row~0#1| (+ (- 17179869184) (* (mod ~ARR_SIZE~0 4294967296) 4)))))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (<= ~ARR_SIZE~0 32767))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {2341#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4 (* |ULTIMATE.start_main_~row~0#1| (+ (- 17179869184) (* (mod ~ARR_SIZE~0 4294967296) 4)))))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {2341#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4 (* |ULTIMATE.start_main_~row~0#1| (+ (- 17179869184) (* (mod ~ARR_SIZE~0 4294967296) 4)))))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (<= ~ARR_SIZE~0 32767))} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {2351#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {2351#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {2355#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,112 INFO L290 TraceCheckUtils]: 16: Hoare triple {2355#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {2359#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,113 INFO L290 TraceCheckUtils]: 17: Hoare triple {2359#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2363#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~column~0#1| 1) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,117 INFO L290 TraceCheckUtils]: 18: Hoare triple {2363#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~column~0#1| 1) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {2367#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~column~0#1| 1) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,122 INFO L290 TraceCheckUtils]: 19: Hoare triple {2367#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~column~0#1| 1) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {2371#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= |ULTIMATE.start_main_~column~0#1| (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} is VALID [2022-02-20 14:24:13,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {2371#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= |ULTIMATE.start_main_~column~0#1| (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (<= ~ARR_SIZE~0 32767))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {2375#(and (exists ((|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0))) (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,127 INFO L290 TraceCheckUtils]: 21: Hoare triple {2375#(and (exists ((|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0))) (= |ULTIMATE.start_main_~sum~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (<= |ULTIMATE.start_main_~row~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {2379#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (<= |ULTIMATE.start_main_~row~0#1| (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,129 INFO L290 TraceCheckUtils]: 22: Hoare triple {2379#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (<= |ULTIMATE.start_main_~row~0#1| (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume !(main_~row~0#1 < ~ARR_SIZE~0); {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,130 INFO L290 TraceCheckUtils]: 23: Hoare triple {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,134 INFO L272 TraceCheckUtils]: 24: Hoare triple {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} ~cond := #in~cond; {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,137 INFO L290 TraceCheckUtils]: 26: Hoare triple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} assume !(0 == ~cond); {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,139 INFO L290 TraceCheckUtils]: 27: Hoare triple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} assume true; {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,140 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} #122#return; {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,146 INFO L272 TraceCheckUtils]: 29: Hoare triple {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,148 INFO L290 TraceCheckUtils]: 30: Hoare triple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} ~cond := #in~cond; {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,149 INFO L290 TraceCheckUtils]: 31: Hoare triple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} assume !(0 == ~cond); {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,151 INFO L290 TraceCheckUtils]: 32: Hoare triple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} assume true; {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,152 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} #124#return; {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,156 INFO L272 TraceCheckUtils]: 34: Hoare triple {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,157 INFO L290 TraceCheckUtils]: 35: Hoare triple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} ~index := #in~index; {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,159 INFO L290 TraceCheckUtils]: 36: Hoare triple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,161 INFO L290 TraceCheckUtils]: 37: Hoare triple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} assume true; {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} is VALID [2022-02-20 14:24:13,162 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2390#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array~0#1.base_BEFORE_CALL_1|) 4) 0))))} {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} #126#return; {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,163 INFO L290 TraceCheckUtils]: 39: Hoare triple {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume main_#t~short11#1; {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,169 INFO L290 TraceCheckUtils]: 41: Hoare triple {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {2442#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_#t~ite13#1| (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| (* |ULTIMATE.start_main_~index1~0#1| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |ULTIMATE.start_main_~index2~0#1| 4)))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,365 INFO L290 TraceCheckUtils]: 42: Hoare triple {2442#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_#t~ite13#1| (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| (* |ULTIMATE.start_main_~index1~0#1| (* (mod ~ARR_SIZE~0 4294967296) 4)) (* |ULTIMATE.start_main_~index2~0#1| 4)))) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,367 INFO L290 TraceCheckUtils]: 43: Hoare triple {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume 0 == main_~temp~0#1; {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,369 INFO L290 TraceCheckUtils]: 44: Hoare triple {2383#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} main_~row~0#1 := 0; {2452#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,370 INFO L290 TraceCheckUtils]: 45: Hoare triple {2452#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {2456#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,371 INFO L290 TraceCheckUtils]: 46: Hoare triple {2456#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {2456#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,374 INFO L290 TraceCheckUtils]: 47: Hoare triple {2456#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {2463#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (+ (- 1) |ULTIMATE.start_main_~column~0#1|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,376 INFO L290 TraceCheckUtils]: 48: Hoare triple {2463#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (+ (- 1) |ULTIMATE.start_main_~column~0#1|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {2452#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,378 INFO L290 TraceCheckUtils]: 49: Hoare triple {2452#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {2452#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,379 INFO L290 TraceCheckUtils]: 50: Hoare triple {2452#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {2452#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} is VALID [2022-02-20 14:24:13,382 INFO L290 TraceCheckUtils]: 51: Hoare triple {2452#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (= |ULTIMATE.start_main_~row~0#1| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0))} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {2476#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:13,383 INFO L290 TraceCheckUtils]: 52: Hoare triple {2476#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (= |ULTIMATE.start_main_~row~0#1| 1))} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {2480#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:13,387 INFO L290 TraceCheckUtils]: 53: Hoare triple {2480#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= |ULTIMATE.start_main_~column~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (= |ULTIMATE.start_main_~row~0#1| 1))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {2476#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:13,389 INFO L290 TraceCheckUtils]: 54: Hoare triple {2476#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (= |ULTIMATE.start_main_~row~0#1| 1))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {2476#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:13,413 INFO L290 TraceCheckUtils]: 55: Hoare triple {2476#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array~0#1.offset| 0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int) (|v_ULTIMATE.start_main_~column~0#1_29| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset|)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)) |ULTIMATE.start_main_~#array~0#1.offset| (* |v_ULTIMATE.start_main_~column~0#1_29| 4))) 0) (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~column~0#1_29| 1)) (<= |v_ULTIMATE.start_main_~column~0#1_29| 1))) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) (+ |ULTIMATE.start_main_~#array~0#1.offset| 4)) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array~0#1.base|) |ULTIMATE.start_main_~#array~0#1.offset|) 0) (= |ULTIMATE.start_main_~row~0#1| 1))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {2490#(and (< 1 ~ARR_SIZE~0) (or (= |ULTIMATE.start_main_~sum~0#1| 0) (not (= (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4)) 0))) (< |ULTIMATE.start_main_~column~0#1| ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (or (not (= (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4)) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)))) (= |ULTIMATE.start_main_~sum~0#1| 0)) (or (= |ULTIMATE.start_main_~sum~0#1| 0) (< (+ (* (mod ~ARR_SIZE~0 4294967296) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~column~0#1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (mod ~ARR_SIZE~0 4294967296)) 1))))) (or (= |ULTIMATE.start_main_~sum~0#1| 0) (not (= (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4)) 4))) (= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:13,414 INFO L290 TraceCheckUtils]: 56: Hoare triple {2490#(and (< 1 ~ARR_SIZE~0) (or (= |ULTIMATE.start_main_~sum~0#1| 0) (not (= (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4)) 0))) (< |ULTIMATE.start_main_~column~0#1| ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~row~0#1_25| Int)) (and (<= ~ARR_SIZE~0 (+ |v_ULTIMATE.start_main_~row~0#1_25| 1)) (<= |v_ULTIMATE.start_main_~row~0#1_25| 1) (or (not (= (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4)) (* |v_ULTIMATE.start_main_~row~0#1_25| (* (mod ~ARR_SIZE~0 4294967296) 4)))) (= |ULTIMATE.start_main_~sum~0#1| 0)) (or (= |ULTIMATE.start_main_~sum~0#1| 0) (< (+ (* (mod ~ARR_SIZE~0 4294967296) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~column~0#1|) (+ (* |v_ULTIMATE.start_main_~row~0#1_25| (mod ~ARR_SIZE~0 4294967296)) 1))))) (or (= |ULTIMATE.start_main_~sum~0#1| 0) (not (= (+ (* (* (mod ~ARR_SIZE~0 4294967296) 4) |ULTIMATE.start_main_~row~0#1|) (* |ULTIMATE.start_main_~column~0#1| 4)) 4))) (= |ULTIMATE.start_main_~row~0#1| 1))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {2494#(and (< 1 ~ARR_SIZE~0) (or (and (< |ULTIMATE.start_main_~column~0#1| (+ ~ARR_SIZE~0 1)) (= |ULTIMATE.start_main_~sum~0#1| 0)) (< (+ (* (mod ~ARR_SIZE~0 4294967296) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~column~0#1|) 1)) (<= ~ARR_SIZE~0 2) (= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:13,415 INFO L290 TraceCheckUtils]: 57: Hoare triple {2494#(and (< 1 ~ARR_SIZE~0) (or (and (< |ULTIMATE.start_main_~column~0#1| (+ ~ARR_SIZE~0 1)) (= |ULTIMATE.start_main_~sum~0#1| 0)) (< (+ (* (mod ~ARR_SIZE~0 4294967296) |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~column~0#1|) 1)) (<= ~ARR_SIZE~0 2) (= |ULTIMATE.start_main_~row~0#1| 1))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {2498#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2) (= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:13,416 INFO L290 TraceCheckUtils]: 58: Hoare triple {2498#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2) (= |ULTIMATE.start_main_~row~0#1| 1))} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {2502#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 2) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:13,416 INFO L290 TraceCheckUtils]: 59: Hoare triple {2502#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 2) (<= ~ARR_SIZE~0 2))} assume !(main_~row~0#1 < ~ARR_SIZE~0); {2506#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:13,417 INFO L290 TraceCheckUtils]: 60: Hoare triple {2506#(and (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {2510#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:24:13,417 INFO L290 TraceCheckUtils]: 61: Hoare triple {2510#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {2296#false} is VALID [2022-02-20 14:24:13,417 INFO L290 TraceCheckUtils]: 62: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-02-20 14:24:13,418 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 2 proven. 56 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 14:24:13,418 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:24:23,169 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:23,169 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2017766200] [2022-02-20 14:24:23,169 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:23,169 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [522155648] [2022-02-20 14:24:23,170 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [522155648] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:24:23,170 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 14:24:23,170 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33] total 33 [2022-02-20 14:24:23,170 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [450711192] [2022-02-20 14:24:23,170 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 14:24:23,171 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 63 [2022-02-20 14:24:23,171 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:23,171 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:24:23,369 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:24:23,369 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-02-20 14:24:23,369 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:23,370 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-02-20 14:24:23,371 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=425, Invalid=1831, Unknown=0, NotChecked=0, Total=2256 [2022-02-20 14:24:23,371 INFO L87 Difference]: Start difference. First operand 62 states and 73 transitions. Second operand has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:24:25,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:25,162 INFO L93 Difference]: Finished difference Result 112 states and 135 transitions. [2022-02-20 14:24:25,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2022-02-20 14:24:25,162 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 63 [2022-02-20 14:24:25,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:25,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:24:25,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 115 transitions. [2022-02-20 14:24:25,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:24:25,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 115 transitions. [2022-02-20 14:24:25,178 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 115 transitions. [2022-02-20 14:24:25,418 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:25,421 INFO L225 Difference]: With dead ends: 112 [2022-02-20 14:24:25,421 INFO L226 Difference]: Without dead ends: 108 [2022-02-20 14:24:25,422 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 31 SyntacticMatches, 10 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1499 ImplicationChecksByTransitivity, 5.8s TimeCoverageRelationStatistics Valid=591, Invalid=2715, Unknown=0, NotChecked=0, Total=3306 [2022-02-20 14:24:25,424 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 39 mSDsluCounter, 277 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 306 SdHoareTripleChecker+Invalid, 270 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 94 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:25,424 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 306 Invalid, 270 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 149 Invalid, 0 Unknown, 94 Unchecked, 0.3s Time] [2022-02-20 14:24:25,425 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-02-20 14:24:25,548 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 104. [2022-02-20 14:24:25,548 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:25,548 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 104 states, 90 states have (on average 1.211111111111111) internal successors, (109), 90 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 14:24:25,549 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 104 states, 90 states have (on average 1.211111111111111) internal successors, (109), 90 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 14:24:25,549 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 104 states, 90 states have (on average 1.211111111111111) internal successors, (109), 90 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 14:24:25,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:25,553 INFO L93 Difference]: Finished difference Result 108 states and 131 transitions. [2022-02-20 14:24:25,553 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 131 transitions. [2022-02-20 14:24:25,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:25,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:25,554 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 90 states have (on average 1.211111111111111) internal successors, (109), 90 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) Second operand 108 states. [2022-02-20 14:24:25,554 INFO L87 Difference]: Start difference. First operand has 104 states, 90 states have (on average 1.211111111111111) internal successors, (109), 90 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) Second operand 108 states. [2022-02-20 14:24:25,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:25,558 INFO L93 Difference]: Finished difference Result 108 states and 131 transitions. [2022-02-20 14:24:25,558 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 131 transitions. [2022-02-20 14:24:25,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:25,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:25,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:25,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:25,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 90 states have (on average 1.211111111111111) internal successors, (109), 90 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 14:24:25,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 126 transitions. [2022-02-20 14:24:25,562 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 126 transitions. Word has length 63 [2022-02-20 14:24:25,563 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:25,563 INFO L470 AbstractCegarLoop]: Abstraction has 104 states and 126 transitions. [2022-02-20 14:24:25,563 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 32 states have internal predecessors, (52), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 14:24:25,563 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 126 transitions. [2022-02-20 14:24:25,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-02-20 14:24:25,564 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:25,564 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:25,589 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:24:25,787 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:25,788 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:25,788 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:25,788 INFO L85 PathProgramCache]: Analyzing trace with hash -506553876, now seen corresponding path program 1 times [2022-02-20 14:24:25,788 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:25,788 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1688981293] [2022-02-20 14:24:25,788 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:25,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:25,810 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:25,810 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [53748786] [2022-02-20 14:24:25,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:25,810 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:25,810 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:25,811 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:24:25,822 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:24:25,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:25,889 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 2 conjunts are in the unsatisfiable core [2022-02-20 14:24:25,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:25,905 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:26,013 INFO L290 TraceCheckUtils]: 0: Hoare triple {3150#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {3150#true} is VALID [2022-02-20 14:24:26,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {3150#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {3150#true} is VALID [2022-02-20 14:24:26,014 INFO L272 TraceCheckUtils]: 2: Hoare triple {3150#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {3150#true} is VALID [2022-02-20 14:24:26,014 INFO L290 TraceCheckUtils]: 3: Hoare triple {3150#true} ~cond := #in~cond; {3150#true} is VALID [2022-02-20 14:24:26,014 INFO L290 TraceCheckUtils]: 4: Hoare triple {3150#true} assume !(0 == ~cond); {3150#true} is VALID [2022-02-20 14:24:26,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {3150#true} assume true; {3150#true} is VALID [2022-02-20 14:24:26,014 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3150#true} {3150#true} #120#return; {3150#true} is VALID [2022-02-20 14:24:26,015 INFO L290 TraceCheckUtils]: 7: Hoare triple {3150#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {3150#true} is VALID [2022-02-20 14:24:26,015 INFO L290 TraceCheckUtils]: 8: Hoare triple {3150#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {3150#true} is VALID [2022-02-20 14:24:26,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {3150#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {3150#true} is VALID [2022-02-20 14:24:26,015 INFO L290 TraceCheckUtils]: 10: Hoare triple {3150#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3150#true} is VALID [2022-02-20 14:24:26,015 INFO L290 TraceCheckUtils]: 11: Hoare triple {3150#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {3150#true} is VALID [2022-02-20 14:24:26,016 INFO L290 TraceCheckUtils]: 12: Hoare triple {3150#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3150#true} is VALID [2022-02-20 14:24:26,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {3150#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {3150#true} is VALID [2022-02-20 14:24:26,016 INFO L290 TraceCheckUtils]: 14: Hoare triple {3150#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3150#true} is VALID [2022-02-20 14:24:26,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {3150#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {3150#true} is VALID [2022-02-20 14:24:26,016 INFO L290 TraceCheckUtils]: 16: Hoare triple {3150#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {3150#true} is VALID [2022-02-20 14:24:26,016 INFO L290 TraceCheckUtils]: 17: Hoare triple {3150#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3150#true} is VALID [2022-02-20 14:24:26,017 INFO L290 TraceCheckUtils]: 18: Hoare triple {3150#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {3150#true} is VALID [2022-02-20 14:24:26,017 INFO L290 TraceCheckUtils]: 19: Hoare triple {3150#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3150#true} is VALID [2022-02-20 14:24:26,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {3150#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {3150#true} is VALID [2022-02-20 14:24:26,017 INFO L290 TraceCheckUtils]: 21: Hoare triple {3150#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3150#true} is VALID [2022-02-20 14:24:26,017 INFO L290 TraceCheckUtils]: 22: Hoare triple {3150#true} assume !(main_~row~0#1 < ~ARR_SIZE~0); {3150#true} is VALID [2022-02-20 14:24:26,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {3150#true} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {3150#true} is VALID [2022-02-20 14:24:26,018 INFO L272 TraceCheckUtils]: 24: Hoare triple {3150#true} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {3150#true} is VALID [2022-02-20 14:24:26,018 INFO L290 TraceCheckUtils]: 25: Hoare triple {3150#true} ~cond := #in~cond; {3150#true} is VALID [2022-02-20 14:24:26,018 INFO L290 TraceCheckUtils]: 26: Hoare triple {3150#true} assume !(0 == ~cond); {3150#true} is VALID [2022-02-20 14:24:26,018 INFO L290 TraceCheckUtils]: 27: Hoare triple {3150#true} assume true; {3150#true} is VALID [2022-02-20 14:24:26,018 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3150#true} {3150#true} #122#return; {3150#true} is VALID [2022-02-20 14:24:26,018 INFO L272 TraceCheckUtils]: 29: Hoare triple {3150#true} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {3150#true} is VALID [2022-02-20 14:24:26,019 INFO L290 TraceCheckUtils]: 30: Hoare triple {3150#true} ~cond := #in~cond; {3150#true} is VALID [2022-02-20 14:24:26,019 INFO L290 TraceCheckUtils]: 31: Hoare triple {3150#true} assume !(0 == ~cond); {3150#true} is VALID [2022-02-20 14:24:26,019 INFO L290 TraceCheckUtils]: 32: Hoare triple {3150#true} assume true; {3150#true} is VALID [2022-02-20 14:24:26,019 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3150#true} {3150#true} #124#return; {3150#true} is VALID [2022-02-20 14:24:26,019 INFO L272 TraceCheckUtils]: 34: Hoare triple {3150#true} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {3150#true} is VALID [2022-02-20 14:24:26,019 INFO L290 TraceCheckUtils]: 35: Hoare triple {3150#true} ~index := #in~index; {3150#true} is VALID [2022-02-20 14:24:26,020 INFO L290 TraceCheckUtils]: 36: Hoare triple {3150#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {3150#true} is VALID [2022-02-20 14:24:26,020 INFO L290 TraceCheckUtils]: 37: Hoare triple {3150#true} assume true; {3150#true} is VALID [2022-02-20 14:24:26,020 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3150#true} {3150#true} #126#return; {3150#true} is VALID [2022-02-20 14:24:26,020 INFO L290 TraceCheckUtils]: 39: Hoare triple {3150#true} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {3150#true} is VALID [2022-02-20 14:24:26,021 INFO L290 TraceCheckUtils]: 40: Hoare triple {3150#true} assume main_#t~short11#1; {3275#|ULTIMATE.start_main_#t~short11#1|} is VALID [2022-02-20 14:24:26,021 INFO L290 TraceCheckUtils]: 41: Hoare triple {3275#|ULTIMATE.start_main_#t~short11#1|} assume !main_#t~short11#1;main_#t~ite13#1 := main_~num~0#1 * main_~num~0#1; {3151#false} is VALID [2022-02-20 14:24:26,021 INFO L290 TraceCheckUtils]: 42: Hoare triple {3151#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {3151#false} is VALID [2022-02-20 14:24:26,021 INFO L290 TraceCheckUtils]: 43: Hoare triple {3151#false} assume 0 == main_~temp~0#1; {3151#false} is VALID [2022-02-20 14:24:26,022 INFO L290 TraceCheckUtils]: 44: Hoare triple {3151#false} main_~row~0#1 := 0; {3151#false} is VALID [2022-02-20 14:24:26,022 INFO L290 TraceCheckUtils]: 45: Hoare triple {3151#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {3151#false} is VALID [2022-02-20 14:24:26,022 INFO L290 TraceCheckUtils]: 46: Hoare triple {3151#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {3151#false} is VALID [2022-02-20 14:24:26,022 INFO L290 TraceCheckUtils]: 47: Hoare triple {3151#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3151#false} is VALID [2022-02-20 14:24:26,022 INFO L290 TraceCheckUtils]: 48: Hoare triple {3151#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {3151#false} is VALID [2022-02-20 14:24:26,022 INFO L290 TraceCheckUtils]: 49: Hoare triple {3151#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3151#false} is VALID [2022-02-20 14:24:26,023 INFO L290 TraceCheckUtils]: 50: Hoare triple {3151#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {3151#false} is VALID [2022-02-20 14:24:26,023 INFO L290 TraceCheckUtils]: 51: Hoare triple {3151#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {3151#false} is VALID [2022-02-20 14:24:26,023 INFO L290 TraceCheckUtils]: 52: Hoare triple {3151#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {3151#false} is VALID [2022-02-20 14:24:26,023 INFO L290 TraceCheckUtils]: 53: Hoare triple {3151#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {3151#false} is VALID [2022-02-20 14:24:26,023 INFO L290 TraceCheckUtils]: 54: Hoare triple {3151#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3151#false} is VALID [2022-02-20 14:24:26,023 INFO L290 TraceCheckUtils]: 55: Hoare triple {3151#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {3151#false} is VALID [2022-02-20 14:24:26,024 INFO L290 TraceCheckUtils]: 56: Hoare triple {3151#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3151#false} is VALID [2022-02-20 14:24:26,024 INFO L290 TraceCheckUtils]: 57: Hoare triple {3151#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {3151#false} is VALID [2022-02-20 14:24:26,024 INFO L290 TraceCheckUtils]: 58: Hoare triple {3151#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {3151#false} is VALID [2022-02-20 14:24:26,024 INFO L290 TraceCheckUtils]: 59: Hoare triple {3151#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {3151#false} is VALID [2022-02-20 14:24:26,024 INFO L290 TraceCheckUtils]: 60: Hoare triple {3151#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {3151#false} is VALID [2022-02-20 14:24:26,025 INFO L290 TraceCheckUtils]: 61: Hoare triple {3151#false} assume 0 == __VERIFIER_assert_~cond#1; {3151#false} is VALID [2022-02-20 14:24:26,025 INFO L290 TraceCheckUtils]: 62: Hoare triple {3151#false} assume !false; {3151#false} is VALID [2022-02-20 14:24:26,025 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-02-20 14:24:26,025 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:24:26,025 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:26,026 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1688981293] [2022-02-20 14:24:26,026 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:26,026 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [53748786] [2022-02-20 14:24:26,026 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [53748786] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:24:26,026 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:24:26,026 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 14:24:26,026 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1326606981] [2022-02-20 14:24:26,027 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:24:26,027 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 63 [2022-02-20 14:24:26,027 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:26,028 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:26,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:26,063 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 14:24:26,063 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:26,064 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 14:24:26,064 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 14:24:26,064 INFO L87 Difference]: Start difference. First operand 104 states and 126 transitions. Second operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:26,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:26,254 INFO L93 Difference]: Finished difference Result 145 states and 176 transitions. [2022-02-20 14:24:26,254 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 14:24:26,255 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 63 [2022-02-20 14:24:26,255 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:26,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:26,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 84 transitions. [2022-02-20 14:24:26,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:26,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 84 transitions. [2022-02-20 14:24:26,259 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 84 transitions. [2022-02-20 14:24:26,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:26,331 INFO L225 Difference]: With dead ends: 145 [2022-02-20 14:24:26,331 INFO L226 Difference]: Without dead ends: 106 [2022-02-20 14:24:26,335 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 14:24:26,336 INFO L933 BasicCegarLoop]: 45 mSDtfsCounter, 1 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:26,336 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 83 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:24:26,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-02-20 14:24:26,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 105. [2022-02-20 14:24:26,469 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:26,469 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 105 states, 91 states have (on average 1.1978021978021978) internal successors, (109), 91 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 14:24:26,469 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 105 states, 91 states have (on average 1.1978021978021978) internal successors, (109), 91 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 14:24:26,470 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 105 states, 91 states have (on average 1.1978021978021978) internal successors, (109), 91 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 14:24:26,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:26,473 INFO L93 Difference]: Finished difference Result 106 states and 127 transitions. [2022-02-20 14:24:26,473 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 127 transitions. [2022-02-20 14:24:26,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:26,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:26,474 INFO L74 IsIncluded]: Start isIncluded. First operand has 105 states, 91 states have (on average 1.1978021978021978) internal successors, (109), 91 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) Second operand 106 states. [2022-02-20 14:24:26,475 INFO L87 Difference]: Start difference. First operand has 105 states, 91 states have (on average 1.1978021978021978) internal successors, (109), 91 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) Second operand 106 states. [2022-02-20 14:24:26,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:26,478 INFO L93 Difference]: Finished difference Result 106 states and 127 transitions. [2022-02-20 14:24:26,478 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 127 transitions. [2022-02-20 14:24:26,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:26,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:26,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:26,479 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:26,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 91 states have (on average 1.1978021978021978) internal successors, (109), 91 states have internal predecessors, (109), 8 states have call successors, (8), 5 states have call predecessors, (8), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-20 14:24:26,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 126 transitions. [2022-02-20 14:24:26,482 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 126 transitions. Word has length 63 [2022-02-20 14:24:26,482 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:26,482 INFO L470 AbstractCegarLoop]: Abstraction has 105 states and 126 transitions. [2022-02-20 14:24:26,483 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:26,483 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 126 transitions. [2022-02-20 14:24:26,483 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-02-20 14:24:26,484 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:26,484 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:26,508 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 14:24:26,703 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:26,704 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:26,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:26,704 INFO L85 PathProgramCache]: Analyzing trace with hash 236205423, now seen corresponding path program 1 times [2022-02-20 14:24:26,704 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:26,705 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1886014873] [2022-02-20 14:24:26,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:26,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:26,728 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:26,728 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1230040602] [2022-02-20 14:24:26,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:26,728 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:26,729 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:26,730 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:24:26,758 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:24:26,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:26,814 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 14:24:26,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:26,834 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:26,947 INFO L290 TraceCheckUtils]: 0: Hoare triple {3908#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {3908#true} is VALID [2022-02-20 14:24:26,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {3908#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L272 TraceCheckUtils]: 2: Hoare triple {3908#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L290 TraceCheckUtils]: 3: Hoare triple {3908#true} ~cond := #in~cond; {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L290 TraceCheckUtils]: 4: Hoare triple {3908#true} assume !(0 == ~cond); {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {3908#true} assume true; {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3908#true} {3908#true} #120#return; {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {3908#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {3908#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {3908#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L290 TraceCheckUtils]: 10: Hoare triple {3908#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {3908#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {3908#true} is VALID [2022-02-20 14:24:26,948 INFO L290 TraceCheckUtils]: 12: Hoare triple {3908#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {3908#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {3908#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {3908#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 16: Hoare triple {3908#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {3908#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {3908#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 19: Hoare triple {3908#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 20: Hoare triple {3908#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 21: Hoare triple {3908#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {3908#true} assume !(main_~row~0#1 < ~ARR_SIZE~0); {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {3908#true} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {3908#true} is VALID [2022-02-20 14:24:26,949 INFO L272 TraceCheckUtils]: 24: Hoare triple {3908#true} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {3908#true} is VALID [2022-02-20 14:24:26,950 INFO L290 TraceCheckUtils]: 25: Hoare triple {3908#true} ~cond := #in~cond; {3908#true} is VALID [2022-02-20 14:24:26,950 INFO L290 TraceCheckUtils]: 26: Hoare triple {3908#true} assume !(0 == ~cond); {3908#true} is VALID [2022-02-20 14:24:26,950 INFO L290 TraceCheckUtils]: 27: Hoare triple {3908#true} assume true; {3908#true} is VALID [2022-02-20 14:24:26,950 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3908#true} {3908#true} #122#return; {3908#true} is VALID [2022-02-20 14:24:26,950 INFO L272 TraceCheckUtils]: 29: Hoare triple {3908#true} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {3908#true} is VALID [2022-02-20 14:24:26,950 INFO L290 TraceCheckUtils]: 30: Hoare triple {3908#true} ~cond := #in~cond; {3908#true} is VALID [2022-02-20 14:24:26,950 INFO L290 TraceCheckUtils]: 31: Hoare triple {3908#true} assume !(0 == ~cond); {3908#true} is VALID [2022-02-20 14:24:26,950 INFO L290 TraceCheckUtils]: 32: Hoare triple {3908#true} assume true; {3908#true} is VALID [2022-02-20 14:24:26,950 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3908#true} {3908#true} #124#return; {3908#true} is VALID [2022-02-20 14:24:26,951 INFO L272 TraceCheckUtils]: 34: Hoare triple {3908#true} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {3908#true} is VALID [2022-02-20 14:24:26,951 INFO L290 TraceCheckUtils]: 35: Hoare triple {3908#true} ~index := #in~index; {3908#true} is VALID [2022-02-20 14:24:26,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {3908#true} assume !(0 == ~index || ~index == ~ARR_SIZE~0 - 1);#res := 0; {4021#(= |outerBoundaryPatternCheck_#res| 0)} is VALID [2022-02-20 14:24:26,955 INFO L290 TraceCheckUtils]: 37: Hoare triple {4021#(= |outerBoundaryPatternCheck_#res| 0)} assume true; {4021#(= |outerBoundaryPatternCheck_#res| 0)} is VALID [2022-02-20 14:24:26,956 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4021#(= |outerBoundaryPatternCheck_#res| 0)} {3908#true} #126#return; {4028#(= |ULTIMATE.start_main_#t~ret9#1| 0)} is VALID [2022-02-20 14:24:26,956 INFO L290 TraceCheckUtils]: 39: Hoare triple {4028#(= |ULTIMATE.start_main_#t~ret9#1| 0)} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {4032#(not |ULTIMATE.start_main_#t~short11#1|)} is VALID [2022-02-20 14:24:26,956 INFO L290 TraceCheckUtils]: 40: Hoare triple {4032#(not |ULTIMATE.start_main_#t~short11#1|)} assume main_#t~short11#1; {3909#false} is VALID [2022-02-20 14:24:26,956 INFO L290 TraceCheckUtils]: 41: Hoare triple {3909#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {3909#false} is VALID [2022-02-20 14:24:26,956 INFO L290 TraceCheckUtils]: 42: Hoare triple {3909#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 43: Hoare triple {3909#false} assume 0 == main_~temp~0#1; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 44: Hoare triple {3909#false} main_~row~0#1 := 0; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 45: Hoare triple {3909#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 46: Hoare triple {3909#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 47: Hoare triple {3909#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 48: Hoare triple {3909#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 49: Hoare triple {3909#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 50: Hoare triple {3909#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 51: Hoare triple {3909#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 52: Hoare triple {3909#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 53: Hoare triple {3909#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 54: Hoare triple {3909#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3909#false} is VALID [2022-02-20 14:24:26,957 INFO L290 TraceCheckUtils]: 55: Hoare triple {3909#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {3909#false} is VALID [2022-02-20 14:24:26,958 INFO L290 TraceCheckUtils]: 56: Hoare triple {3909#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {3909#false} is VALID [2022-02-20 14:24:26,958 INFO L290 TraceCheckUtils]: 57: Hoare triple {3909#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {3909#false} is VALID [2022-02-20 14:24:26,958 INFO L290 TraceCheckUtils]: 58: Hoare triple {3909#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {3909#false} is VALID [2022-02-20 14:24:26,958 INFO L290 TraceCheckUtils]: 59: Hoare triple {3909#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {3909#false} is VALID [2022-02-20 14:24:26,958 INFO L290 TraceCheckUtils]: 60: Hoare triple {3909#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {3909#false} is VALID [2022-02-20 14:24:26,958 INFO L290 TraceCheckUtils]: 61: Hoare triple {3909#false} assume 0 == __VERIFIER_assert_~cond#1; {3909#false} is VALID [2022-02-20 14:24:26,958 INFO L290 TraceCheckUtils]: 62: Hoare triple {3909#false} assume !false; {3909#false} is VALID [2022-02-20 14:24:26,958 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-02-20 14:24:26,958 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:24:26,959 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:26,959 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1886014873] [2022-02-20 14:24:26,959 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:26,959 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1230040602] [2022-02-20 14:24:26,959 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1230040602] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:24:26,959 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:24:26,959 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 14:24:26,959 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [583178728] [2022-02-20 14:24:26,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:24:26,960 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 4 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 63 [2022-02-20 14:24:26,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:26,960 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.2) internal successors, (31), 4 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:26,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:26,991 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 14:24:26,991 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:26,991 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 14:24:26,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 14:24:26,991 INFO L87 Difference]: Start difference. First operand 105 states and 126 transitions. Second operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 4 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:27,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:27,238 INFO L93 Difference]: Finished difference Result 155 states and 189 transitions. [2022-02-20 14:24:27,238 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 14:24:27,238 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 4 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 63 [2022-02-20 14:24:27,239 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:27,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 4 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:27,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 96 transitions. [2022-02-20 14:24:27,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 4 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:27,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 96 transitions. [2022-02-20 14:24:27,243 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 96 transitions. [2022-02-20 14:24:27,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:27,317 INFO L225 Difference]: With dead ends: 155 [2022-02-20 14:24:27,317 INFO L226 Difference]: Without dead ends: 115 [2022-02-20 14:24:27,318 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 14:24:27,318 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 5 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:27,318 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 193 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:24:27,319 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-02-20 14:24:27,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 109. [2022-02-20 14:24:27,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:27,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 109 states, 94 states have (on average 1.1914893617021276) internal successors, (112), 94 states have internal predecessors, (112), 8 states have call successors, (8), 5 states have call predecessors, (8), 6 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-02-20 14:24:27,436 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 109 states, 94 states have (on average 1.1914893617021276) internal successors, (112), 94 states have internal predecessors, (112), 8 states have call successors, (8), 5 states have call predecessors, (8), 6 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-02-20 14:24:27,437 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 109 states, 94 states have (on average 1.1914893617021276) internal successors, (112), 94 states have internal predecessors, (112), 8 states have call successors, (8), 5 states have call predecessors, (8), 6 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-02-20 14:24:27,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:27,440 INFO L93 Difference]: Finished difference Result 115 states and 140 transitions. [2022-02-20 14:24:27,440 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 140 transitions. [2022-02-20 14:24:27,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:27,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:27,441 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 94 states have (on average 1.1914893617021276) internal successors, (112), 94 states have internal predecessors, (112), 8 states have call successors, (8), 5 states have call predecessors, (8), 6 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) Second operand 115 states. [2022-02-20 14:24:27,442 INFO L87 Difference]: Start difference. First operand has 109 states, 94 states have (on average 1.1914893617021276) internal successors, (112), 94 states have internal predecessors, (112), 8 states have call successors, (8), 5 states have call predecessors, (8), 6 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) Second operand 115 states. [2022-02-20 14:24:27,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:27,445 INFO L93 Difference]: Finished difference Result 115 states and 140 transitions. [2022-02-20 14:24:27,445 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 140 transitions. [2022-02-20 14:24:27,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:27,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:27,446 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:27,446 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:27,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 94 states have (on average 1.1914893617021276) internal successors, (112), 94 states have internal predecessors, (112), 8 states have call successors, (8), 5 states have call predecessors, (8), 6 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-02-20 14:24:27,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 131 transitions. [2022-02-20 14:24:27,449 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 131 transitions. Word has length 63 [2022-02-20 14:24:27,449 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:27,450 INFO L470 AbstractCegarLoop]: Abstraction has 109 states and 131 transitions. [2022-02-20 14:24:27,450 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 4 states have internal predecessors, (31), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:27,450 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 131 transitions. [2022-02-20 14:24:27,451 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 14:24:27,451 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:27,451 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:27,478 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 14:24:27,664 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:27,664 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:27,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:27,664 INFO L85 PathProgramCache]: Analyzing trace with hash -1172698608, now seen corresponding path program 4 times [2022-02-20 14:24:27,664 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:27,665 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2147397821] [2022-02-20 14:24:27,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:27,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:27,694 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:27,694 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [263220880] [2022-02-20 14:24:27,694 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 14:24:27,694 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:27,694 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:27,697 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:24:27,698 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 14:24:27,765 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 14:24:27,766 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:24:27,766 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 14:24:27,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:27,781 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:28,065 INFO L290 TraceCheckUtils]: 0: Hoare triple {4703#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {4703#true} is VALID [2022-02-20 14:24:28,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {4703#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {4703#true} is VALID [2022-02-20 14:24:28,065 INFO L272 TraceCheckUtils]: 2: Hoare triple {4703#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {4703#true} is VALID [2022-02-20 14:24:28,065 INFO L290 TraceCheckUtils]: 3: Hoare triple {4703#true} ~cond := #in~cond; {4703#true} is VALID [2022-02-20 14:24:28,065 INFO L290 TraceCheckUtils]: 4: Hoare triple {4703#true} assume !(0 == ~cond); {4703#true} is VALID [2022-02-20 14:24:28,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {4703#true} assume true; {4703#true} is VALID [2022-02-20 14:24:28,066 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4703#true} {4703#true} #120#return; {4703#true} is VALID [2022-02-20 14:24:28,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {4703#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {4703#true} is VALID [2022-02-20 14:24:28,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {4703#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {4732#(<= |ULTIMATE.start_main_~column~0#1| 0)} is VALID [2022-02-20 14:24:28,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {4732#(<= |ULTIMATE.start_main_~column~0#1| 0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {4732#(<= |ULTIMATE.start_main_~column~0#1| 0)} is VALID [2022-02-20 14:24:28,067 INFO L290 TraceCheckUtils]: 10: Hoare triple {4732#(<= |ULTIMATE.start_main_~column~0#1| 0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4739#(<= |ULTIMATE.start_main_~column~0#1| 1)} is VALID [2022-02-20 14:24:28,068 INFO L290 TraceCheckUtils]: 11: Hoare triple {4739#(<= |ULTIMATE.start_main_~column~0#1| 1)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {4739#(<= |ULTIMATE.start_main_~column~0#1| 1)} is VALID [2022-02-20 14:24:28,068 INFO L290 TraceCheckUtils]: 12: Hoare triple {4739#(<= |ULTIMATE.start_main_~column~0#1| 1)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4746#(<= |ULTIMATE.start_main_~column~0#1| 2)} is VALID [2022-02-20 14:24:28,069 INFO L290 TraceCheckUtils]: 13: Hoare triple {4746#(<= |ULTIMATE.start_main_~column~0#1| 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,069 INFO L290 TraceCheckUtils]: 14: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,069 INFO L290 TraceCheckUtils]: 15: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,070 INFO L290 TraceCheckUtils]: 16: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,070 INFO L290 TraceCheckUtils]: 17: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,070 INFO L290 TraceCheckUtils]: 18: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,070 INFO L290 TraceCheckUtils]: 19: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,071 INFO L290 TraceCheckUtils]: 20: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,071 INFO L290 TraceCheckUtils]: 21: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,071 INFO L290 TraceCheckUtils]: 22: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !(main_~row~0#1 < ~ARR_SIZE~0); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,072 INFO L290 TraceCheckUtils]: 23: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,072 INFO L272 TraceCheckUtils]: 24: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,072 INFO L290 TraceCheckUtils]: 25: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} ~cond := #in~cond; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,073 INFO L290 TraceCheckUtils]: 26: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !(0 == ~cond); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,073 INFO L290 TraceCheckUtils]: 27: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume true; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,076 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4750#(<= ~ARR_SIZE~0 2)} {4750#(<= ~ARR_SIZE~0 2)} #122#return; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,078 INFO L272 TraceCheckUtils]: 29: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,079 INFO L290 TraceCheckUtils]: 30: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} ~cond := #in~cond; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,079 INFO L290 TraceCheckUtils]: 31: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !(0 == ~cond); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,079 INFO L290 TraceCheckUtils]: 32: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume true; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,080 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4750#(<= ~ARR_SIZE~0 2)} {4750#(<= ~ARR_SIZE~0 2)} #124#return; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,080 INFO L272 TraceCheckUtils]: 34: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,081 INFO L290 TraceCheckUtils]: 35: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} ~index := #in~index; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,091 INFO L290 TraceCheckUtils]: 36: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,091 INFO L290 TraceCheckUtils]: 37: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume true; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,092 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4750#(<= ~ARR_SIZE~0 2)} {4750#(<= ~ARR_SIZE~0 2)} #126#return; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,095 INFO L290 TraceCheckUtils]: 39: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume main_#t~short11#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,098 INFO L290 TraceCheckUtils]: 41: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,098 INFO L290 TraceCheckUtils]: 42: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,099 INFO L290 TraceCheckUtils]: 43: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume 0 == main_~temp~0#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,099 INFO L290 TraceCheckUtils]: 44: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_~row~0#1 := 0; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,099 INFO L290 TraceCheckUtils]: 45: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,100 INFO L290 TraceCheckUtils]: 46: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,100 INFO L290 TraceCheckUtils]: 47: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,100 INFO L290 TraceCheckUtils]: 48: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,101 INFO L290 TraceCheckUtils]: 49: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,101 INFO L290 TraceCheckUtils]: 50: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,101 INFO L290 TraceCheckUtils]: 51: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,102 INFO L290 TraceCheckUtils]: 52: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {4868#(and (<= 0 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:28,103 INFO L290 TraceCheckUtils]: 53: Hoare triple {4868#(and (<= 0 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4868#(and (<= 0 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:28,104 INFO L290 TraceCheckUtils]: 54: Hoare triple {4868#(and (<= 0 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4875#(and (<= 1 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:28,104 INFO L290 TraceCheckUtils]: 55: Hoare triple {4875#(and (<= 1 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4875#(and (<= 1 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:28,105 INFO L290 TraceCheckUtils]: 56: Hoare triple {4875#(and (<= 1 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4882#(and (<= 2 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:28,106 INFO L290 TraceCheckUtils]: 57: Hoare triple {4882#(and (<= 2 |ULTIMATE.start_main_~column~0#1|) (<= ~ARR_SIZE~0 2))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4704#false} is VALID [2022-02-20 14:24:28,106 INFO L290 TraceCheckUtils]: 58: Hoare triple {4704#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4704#false} is VALID [2022-02-20 14:24:28,106 INFO L290 TraceCheckUtils]: 59: Hoare triple {4704#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {4704#false} is VALID [2022-02-20 14:24:28,106 INFO L290 TraceCheckUtils]: 60: Hoare triple {4704#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {4704#false} is VALID [2022-02-20 14:24:28,106 INFO L290 TraceCheckUtils]: 61: Hoare triple {4704#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {4704#false} is VALID [2022-02-20 14:24:28,106 INFO L290 TraceCheckUtils]: 62: Hoare triple {4704#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {4704#false} is VALID [2022-02-20 14:24:28,107 INFO L290 TraceCheckUtils]: 63: Hoare triple {4704#false} assume 0 == __VERIFIER_assert_~cond#1; {4704#false} is VALID [2022-02-20 14:24:28,107 INFO L290 TraceCheckUtils]: 64: Hoare triple {4704#false} assume !false; {4704#false} is VALID [2022-02-20 14:24:28,107 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 40 proven. 17 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 14:24:28,107 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:24:28,360 INFO L290 TraceCheckUtils]: 64: Hoare triple {4704#false} assume !false; {4704#false} is VALID [2022-02-20 14:24:28,360 INFO L290 TraceCheckUtils]: 63: Hoare triple {4704#false} assume 0 == __VERIFIER_assert_~cond#1; {4704#false} is VALID [2022-02-20 14:24:28,360 INFO L290 TraceCheckUtils]: 62: Hoare triple {4704#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {4704#false} is VALID [2022-02-20 14:24:28,360 INFO L290 TraceCheckUtils]: 61: Hoare triple {4704#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {4704#false} is VALID [2022-02-20 14:24:28,360 INFO L290 TraceCheckUtils]: 60: Hoare triple {4704#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {4704#false} is VALID [2022-02-20 14:24:28,360 INFO L290 TraceCheckUtils]: 59: Hoare triple {4704#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {4704#false} is VALID [2022-02-20 14:24:28,360 INFO L290 TraceCheckUtils]: 58: Hoare triple {4704#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4704#false} is VALID [2022-02-20 14:24:28,361 INFO L290 TraceCheckUtils]: 57: Hoare triple {4928#(not (< |ULTIMATE.start_main_~column~0#1| ~ARR_SIZE~0))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4704#false} is VALID [2022-02-20 14:24:28,362 INFO L290 TraceCheckUtils]: 56: Hoare triple {4932#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~column~0#1| 1))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4928#(not (< |ULTIMATE.start_main_~column~0#1| ~ARR_SIZE~0))} is VALID [2022-02-20 14:24:28,362 INFO L290 TraceCheckUtils]: 55: Hoare triple {4932#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~column~0#1| 1))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4932#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~column~0#1| 1))} is VALID [2022-02-20 14:24:28,363 INFO L290 TraceCheckUtils]: 54: Hoare triple {4939#(<= ~ARR_SIZE~0 (+ 2 |ULTIMATE.start_main_~column~0#1|))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4932#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~column~0#1| 1))} is VALID [2022-02-20 14:24:28,363 INFO L290 TraceCheckUtils]: 53: Hoare triple {4939#(<= ~ARR_SIZE~0 (+ 2 |ULTIMATE.start_main_~column~0#1|))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4939#(<= ~ARR_SIZE~0 (+ 2 |ULTIMATE.start_main_~column~0#1|))} is VALID [2022-02-20 14:24:28,363 INFO L290 TraceCheckUtils]: 52: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {4939#(<= ~ARR_SIZE~0 (+ 2 |ULTIMATE.start_main_~column~0#1|))} is VALID [2022-02-20 14:24:28,364 INFO L290 TraceCheckUtils]: 51: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,364 INFO L290 TraceCheckUtils]: 50: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,364 INFO L290 TraceCheckUtils]: 49: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,365 INFO L290 TraceCheckUtils]: 48: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,365 INFO L290 TraceCheckUtils]: 47: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,365 INFO L290 TraceCheckUtils]: 46: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,379 INFO L290 TraceCheckUtils]: 45: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,380 INFO L290 TraceCheckUtils]: 44: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_~row~0#1 := 0; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,380 INFO L290 TraceCheckUtils]: 43: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume 0 == main_~temp~0#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,380 INFO L290 TraceCheckUtils]: 42: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,381 INFO L290 TraceCheckUtils]: 41: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume main_#t~short11#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,381 INFO L290 TraceCheckUtils]: 39: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,382 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4703#true} {4750#(<= ~ARR_SIZE~0 2)} #126#return; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,383 INFO L290 TraceCheckUtils]: 37: Hoare triple {4703#true} assume true; {4703#true} is VALID [2022-02-20 14:24:28,383 INFO L290 TraceCheckUtils]: 36: Hoare triple {4703#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {4703#true} is VALID [2022-02-20 14:24:28,383 INFO L290 TraceCheckUtils]: 35: Hoare triple {4703#true} ~index := #in~index; {4703#true} is VALID [2022-02-20 14:24:28,383 INFO L272 TraceCheckUtils]: 34: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {4703#true} is VALID [2022-02-20 14:24:28,383 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4703#true} {4750#(<= ~ARR_SIZE~0 2)} #124#return; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,384 INFO L290 TraceCheckUtils]: 32: Hoare triple {4703#true} assume true; {4703#true} is VALID [2022-02-20 14:24:28,384 INFO L290 TraceCheckUtils]: 31: Hoare triple {4703#true} assume !(0 == ~cond); {4703#true} is VALID [2022-02-20 14:24:28,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {4703#true} ~cond := #in~cond; {4703#true} is VALID [2022-02-20 14:24:28,384 INFO L272 TraceCheckUtils]: 29: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {4703#true} is VALID [2022-02-20 14:24:28,384 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4703#true} {4750#(<= ~ARR_SIZE~0 2)} #122#return; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {4703#true} assume true; {4703#true} is VALID [2022-02-20 14:24:28,385 INFO L290 TraceCheckUtils]: 26: Hoare triple {4703#true} assume !(0 == ~cond); {4703#true} is VALID [2022-02-20 14:24:28,385 INFO L290 TraceCheckUtils]: 25: Hoare triple {4703#true} ~cond := #in~cond; {4703#true} is VALID [2022-02-20 14:24:28,385 INFO L272 TraceCheckUtils]: 24: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {4703#true} is VALID [2022-02-20 14:24:28,385 INFO L290 TraceCheckUtils]: 23: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,386 INFO L290 TraceCheckUtils]: 22: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !(main_~row~0#1 < ~ARR_SIZE~0); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,386 INFO L290 TraceCheckUtils]: 21: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,387 INFO L290 TraceCheckUtils]: 19: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,387 INFO L290 TraceCheckUtils]: 18: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,388 INFO L290 TraceCheckUtils]: 16: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,388 INFO L290 TraceCheckUtils]: 15: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,388 INFO L290 TraceCheckUtils]: 14: Hoare triple {4750#(<= ~ARR_SIZE~0 2)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,389 INFO L290 TraceCheckUtils]: 13: Hoare triple {4746#(<= |ULTIMATE.start_main_~column~0#1| 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {4750#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:28,390 INFO L290 TraceCheckUtils]: 12: Hoare triple {4739#(<= |ULTIMATE.start_main_~column~0#1| 1)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4746#(<= |ULTIMATE.start_main_~column~0#1| 2)} is VALID [2022-02-20 14:24:28,391 INFO L290 TraceCheckUtils]: 11: Hoare triple {4739#(<= |ULTIMATE.start_main_~column~0#1| 1)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {4739#(<= |ULTIMATE.start_main_~column~0#1| 1)} is VALID [2022-02-20 14:24:28,391 INFO L290 TraceCheckUtils]: 10: Hoare triple {4732#(<= |ULTIMATE.start_main_~column~0#1| 0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {4739#(<= |ULTIMATE.start_main_~column~0#1| 1)} is VALID [2022-02-20 14:24:28,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {4732#(<= |ULTIMATE.start_main_~column~0#1| 0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {4732#(<= |ULTIMATE.start_main_~column~0#1| 0)} is VALID [2022-02-20 14:24:28,392 INFO L290 TraceCheckUtils]: 8: Hoare triple {4703#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {4732#(<= |ULTIMATE.start_main_~column~0#1| 0)} is VALID [2022-02-20 14:24:28,392 INFO L290 TraceCheckUtils]: 7: Hoare triple {4703#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {4703#true} is VALID [2022-02-20 14:24:28,392 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4703#true} {4703#true} #120#return; {4703#true} is VALID [2022-02-20 14:24:28,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {4703#true} assume true; {4703#true} is VALID [2022-02-20 14:24:28,392 INFO L290 TraceCheckUtils]: 4: Hoare triple {4703#true} assume !(0 == ~cond); {4703#true} is VALID [2022-02-20 14:24:28,393 INFO L290 TraceCheckUtils]: 3: Hoare triple {4703#true} ~cond := #in~cond; {4703#true} is VALID [2022-02-20 14:24:28,393 INFO L272 TraceCheckUtils]: 2: Hoare triple {4703#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {4703#true} is VALID [2022-02-20 14:24:28,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {4703#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {4703#true} is VALID [2022-02-20 14:24:28,393 INFO L290 TraceCheckUtils]: 0: Hoare triple {4703#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {4703#true} is VALID [2022-02-20 14:24:28,393 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 19 proven. 30 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-02-20 14:24:28,393 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:28,393 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2147397821] [2022-02-20 14:24:28,394 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:28,394 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [263220880] [2022-02-20 14:24:28,394 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [263220880] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:24:28,394 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:24:28,394 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-02-20 14:24:28,394 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [304936215] [2022-02-20 14:24:28,394 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:24:28,395 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.833333333333333) internal successors, (58), 12 states have internal predecessors, (58), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 14:24:28,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:28,396 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 4.833333333333333) internal successors, (58), 12 states have internal predecessors, (58), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:28,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:28,453 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 14:24:28,454 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:28,454 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 14:24:28,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-02-20 14:24:28,454 INFO L87 Difference]: Start difference. First operand 109 states and 131 transitions. Second operand has 12 states, 12 states have (on average 4.833333333333333) internal successors, (58), 12 states have internal predecessors, (58), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:29,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:29,346 INFO L93 Difference]: Finished difference Result 247 states and 304 transitions. [2022-02-20 14:24:29,346 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 14:24:29,346 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.833333333333333) internal successors, (58), 12 states have internal predecessors, (58), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 14:24:29,346 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:29,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.833333333333333) internal successors, (58), 12 states have internal predecessors, (58), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:29,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 177 transitions. [2022-02-20 14:24:29,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.833333333333333) internal successors, (58), 12 states have internal predecessors, (58), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:29,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 177 transitions. [2022-02-20 14:24:29,352 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 177 transitions. [2022-02-20 14:24:29,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 177 edges. 177 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:29,525 INFO L225 Difference]: With dead ends: 247 [2022-02-20 14:24:29,525 INFO L226 Difference]: Without dead ends: 196 [2022-02-20 14:24:29,526 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 132 GetRequests, 118 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=74, Invalid=166, Unknown=0, NotChecked=0, Total=240 [2022-02-20 14:24:29,528 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 193 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 188 mSolverCounterSat, 76 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 197 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 264 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 76 IncrementalHoareTripleChecker+Valid, 188 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:29,528 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [197 Valid, 153 Invalid, 264 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [76 Valid, 188 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 14:24:29,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2022-02-20 14:24:29,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 156. [2022-02-20 14:24:29,720 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:29,721 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand has 156 states, 134 states have (on average 1.1791044776119404) internal successors, (158), 134 states have internal predecessors, (158), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:29,721 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand has 156 states, 134 states have (on average 1.1791044776119404) internal successors, (158), 134 states have internal predecessors, (158), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:29,722 INFO L87 Difference]: Start difference. First operand 196 states. Second operand has 156 states, 134 states have (on average 1.1791044776119404) internal successors, (158), 134 states have internal predecessors, (158), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:29,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:29,728 INFO L93 Difference]: Finished difference Result 196 states and 236 transitions. [2022-02-20 14:24:29,728 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 236 transitions. [2022-02-20 14:24:29,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:29,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:29,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 156 states, 134 states have (on average 1.1791044776119404) internal successors, (158), 134 states have internal predecessors, (158), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) Second operand 196 states. [2022-02-20 14:24:29,729 INFO L87 Difference]: Start difference. First operand has 156 states, 134 states have (on average 1.1791044776119404) internal successors, (158), 134 states have internal predecessors, (158), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) Second operand 196 states. [2022-02-20 14:24:29,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:29,734 INFO L93 Difference]: Finished difference Result 196 states and 236 transitions. [2022-02-20 14:24:29,734 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 236 transitions. [2022-02-20 14:24:29,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:29,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:29,735 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:29,735 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:29,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 156 states, 134 states have (on average 1.1791044776119404) internal successors, (158), 134 states have internal predecessors, (158), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:29,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 156 states to 156 states and 187 transitions. [2022-02-20 14:24:29,743 INFO L78 Accepts]: Start accepts. Automaton has 156 states and 187 transitions. Word has length 65 [2022-02-20 14:24:29,743 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:29,743 INFO L470 AbstractCegarLoop]: Abstraction has 156 states and 187 transitions. [2022-02-20 14:24:29,744 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 4.833333333333333) internal successors, (58), 12 states have internal predecessors, (58), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:29,744 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 187 transitions. [2022-02-20 14:24:29,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 14:24:29,746 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:29,746 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:29,768 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-02-20 14:24:29,967 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-02-20 14:24:29,967 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:29,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:29,968 INFO L85 PathProgramCache]: Analyzing trace with hash 785313200, now seen corresponding path program 5 times [2022-02-20 14:24:29,968 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:29,968 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2084363031] [2022-02-20 14:24:29,968 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:29,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:29,989 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:29,989 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [220399928] [2022-02-20 14:24:29,989 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-02-20 14:24:29,990 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:29,990 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:29,991 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:24:29,992 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 14:24:30,313 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2022-02-20 14:24:30,313 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:24:30,315 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 14:24:30,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:30,330 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:30,552 INFO L290 TraceCheckUtils]: 0: Hoare triple {6061#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {6061#true} is VALID [2022-02-20 14:24:30,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {6061#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {6061#true} is VALID [2022-02-20 14:24:30,552 INFO L272 TraceCheckUtils]: 2: Hoare triple {6061#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {6061#true} is VALID [2022-02-20 14:24:30,552 INFO L290 TraceCheckUtils]: 3: Hoare triple {6061#true} ~cond := #in~cond; {6061#true} is VALID [2022-02-20 14:24:30,553 INFO L290 TraceCheckUtils]: 4: Hoare triple {6061#true} assume !(0 == ~cond); {6061#true} is VALID [2022-02-20 14:24:30,553 INFO L290 TraceCheckUtils]: 5: Hoare triple {6061#true} assume true; {6061#true} is VALID [2022-02-20 14:24:30,553 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6061#true} {6061#true} #120#return; {6061#true} is VALID [2022-02-20 14:24:30,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {6061#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {6061#true} is VALID [2022-02-20 14:24:30,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {6061#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {6090#(<= 0 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {6090#(<= 0 |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6090#(<= 0 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,555 INFO L290 TraceCheckUtils]: 10: Hoare triple {6090#(<= 0 |ULTIMATE.start_main_~column~0#1|)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6097#(<= 1 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,555 INFO L290 TraceCheckUtils]: 11: Hoare triple {6097#(<= 1 |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6097#(<= 1 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,555 INFO L290 TraceCheckUtils]: 12: Hoare triple {6097#(<= 1 |ULTIMATE.start_main_~column~0#1|)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6104#(<= 2 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {6104#(<= 2 |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6108#(< 2 ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {6108#(< 2 ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6108#(< 2 ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,557 INFO L290 TraceCheckUtils]: 15: Hoare triple {6108#(< 2 ~ARR_SIZE~0)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {6108#(< 2 ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,557 INFO L290 TraceCheckUtils]: 16: Hoare triple {6108#(< 2 ~ARR_SIZE~0)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {6108#(< 2 ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,558 INFO L290 TraceCheckUtils]: 17: Hoare triple {6108#(< 2 ~ARR_SIZE~0)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {6121#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} is VALID [2022-02-20 14:24:30,558 INFO L290 TraceCheckUtils]: 18: Hoare triple {6121#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6121#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} is VALID [2022-02-20 14:24:30,559 INFO L290 TraceCheckUtils]: 19: Hoare triple {6121#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 0))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6128#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 1))} is VALID [2022-02-20 14:24:30,559 INFO L290 TraceCheckUtils]: 20: Hoare triple {6128#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 1))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6128#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 1))} is VALID [2022-02-20 14:24:30,560 INFO L290 TraceCheckUtils]: 21: Hoare triple {6128#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~column~0#1| 1))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6135#(and (<= |ULTIMATE.start_main_~column~0#1| 2) (< 2 ~ARR_SIZE~0))} is VALID [2022-02-20 14:24:30,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {6135#(and (<= |ULTIMATE.start_main_~column~0#1| 2) (< 2 ~ARR_SIZE~0))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,560 INFO L290 TraceCheckUtils]: 23: Hoare triple {6062#false} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {6062#false} is VALID [2022-02-20 14:24:30,560 INFO L290 TraceCheckUtils]: 24: Hoare triple {6062#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,560 INFO L290 TraceCheckUtils]: 25: Hoare triple {6062#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {6062#false} is VALID [2022-02-20 14:24:30,560 INFO L272 TraceCheckUtils]: 26: Hoare triple {6062#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {6062#false} is VALID [2022-02-20 14:24:30,560 INFO L290 TraceCheckUtils]: 27: Hoare triple {6062#false} ~cond := #in~cond; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L290 TraceCheckUtils]: 28: Hoare triple {6062#false} assume !(0 == ~cond); {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L290 TraceCheckUtils]: 29: Hoare triple {6062#false} assume true; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6062#false} {6062#false} #122#return; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L272 TraceCheckUtils]: 31: Hoare triple {6062#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L290 TraceCheckUtils]: 32: Hoare triple {6062#false} ~cond := #in~cond; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L290 TraceCheckUtils]: 33: Hoare triple {6062#false} assume !(0 == ~cond); {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L290 TraceCheckUtils]: 34: Hoare triple {6062#false} assume true; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6062#false} {6062#false} #124#return; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L272 TraceCheckUtils]: 36: Hoare triple {6062#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L290 TraceCheckUtils]: 37: Hoare triple {6062#false} ~index := #in~index; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L290 TraceCheckUtils]: 38: Hoare triple {6062#false} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L290 TraceCheckUtils]: 39: Hoare triple {6062#false} assume true; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6062#false} {6062#false} #126#return; {6062#false} is VALID [2022-02-20 14:24:30,561 INFO L290 TraceCheckUtils]: 41: Hoare triple {6062#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 42: Hoare triple {6062#false} assume main_#t~short11#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 43: Hoare triple {6062#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 44: Hoare triple {6062#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 45: Hoare triple {6062#false} assume 0 == main_~temp~0#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 46: Hoare triple {6062#false} main_~row~0#1 := 0; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 47: Hoare triple {6062#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 48: Hoare triple {6062#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 49: Hoare triple {6062#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 50: Hoare triple {6062#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 51: Hoare triple {6062#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 52: Hoare triple {6062#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 53: Hoare triple {6062#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 54: Hoare triple {6062#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {6062#false} is VALID [2022-02-20 14:24:30,562 INFO L290 TraceCheckUtils]: 55: Hoare triple {6062#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L290 TraceCheckUtils]: 56: Hoare triple {6062#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L290 TraceCheckUtils]: 57: Hoare triple {6062#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L290 TraceCheckUtils]: 58: Hoare triple {6062#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L290 TraceCheckUtils]: 59: Hoare triple {6062#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L290 TraceCheckUtils]: 60: Hoare triple {6062#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L290 TraceCheckUtils]: 61: Hoare triple {6062#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L290 TraceCheckUtils]: 62: Hoare triple {6062#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L290 TraceCheckUtils]: 63: Hoare triple {6062#false} assume 0 == __VERIFIER_assert_~cond#1; {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L290 TraceCheckUtils]: 64: Hoare triple {6062#false} assume !false; {6062#false} is VALID [2022-02-20 14:24:30,563 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 21 proven. 22 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2022-02-20 14:24:30,563 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:24:30,769 INFO L290 TraceCheckUtils]: 64: Hoare triple {6062#false} assume !false; {6062#false} is VALID [2022-02-20 14:24:30,769 INFO L290 TraceCheckUtils]: 63: Hoare triple {6062#false} assume 0 == __VERIFIER_assert_~cond#1; {6062#false} is VALID [2022-02-20 14:24:30,769 INFO L290 TraceCheckUtils]: 62: Hoare triple {6062#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {6062#false} is VALID [2022-02-20 14:24:30,769 INFO L290 TraceCheckUtils]: 61: Hoare triple {6062#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,769 INFO L290 TraceCheckUtils]: 60: Hoare triple {6062#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {6062#false} is VALID [2022-02-20 14:24:30,769 INFO L290 TraceCheckUtils]: 59: Hoare triple {6062#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 58: Hoare triple {6062#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 57: Hoare triple {6062#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 56: Hoare triple {6062#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 55: Hoare triple {6062#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 54: Hoare triple {6062#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 53: Hoare triple {6062#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 52: Hoare triple {6062#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 51: Hoare triple {6062#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 50: Hoare triple {6062#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 49: Hoare triple {6062#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 48: Hoare triple {6062#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 47: Hoare triple {6062#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {6062#false} is VALID [2022-02-20 14:24:30,770 INFO L290 TraceCheckUtils]: 46: Hoare triple {6062#false} main_~row~0#1 := 0; {6062#false} is VALID [2022-02-20 14:24:30,771 INFO L290 TraceCheckUtils]: 45: Hoare triple {6062#false} assume 0 == main_~temp~0#1; {6062#false} is VALID [2022-02-20 14:24:30,771 INFO L290 TraceCheckUtils]: 44: Hoare triple {6062#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {6062#false} is VALID [2022-02-20 14:24:30,771 INFO L290 TraceCheckUtils]: 43: Hoare triple {6062#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {6062#false} is VALID [2022-02-20 14:24:30,771 INFO L290 TraceCheckUtils]: 42: Hoare triple {6062#false} assume main_#t~short11#1; {6062#false} is VALID [2022-02-20 14:24:30,771 INFO L290 TraceCheckUtils]: 41: Hoare triple {6062#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {6062#false} is VALID [2022-02-20 14:24:30,771 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6061#true} {6062#false} #126#return; {6062#false} is VALID [2022-02-20 14:24:30,771 INFO L290 TraceCheckUtils]: 39: Hoare triple {6061#true} assume true; {6061#true} is VALID [2022-02-20 14:24:30,771 INFO L290 TraceCheckUtils]: 38: Hoare triple {6061#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {6061#true} is VALID [2022-02-20 14:24:30,771 INFO L290 TraceCheckUtils]: 37: Hoare triple {6061#true} ~index := #in~index; {6061#true} is VALID [2022-02-20 14:24:30,771 INFO L272 TraceCheckUtils]: 36: Hoare triple {6062#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {6061#true} is VALID [2022-02-20 14:24:30,771 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6061#true} {6062#false} #124#return; {6062#false} is VALID [2022-02-20 14:24:30,771 INFO L290 TraceCheckUtils]: 34: Hoare triple {6061#true} assume true; {6061#true} is VALID [2022-02-20 14:24:30,772 INFO L290 TraceCheckUtils]: 33: Hoare triple {6061#true} assume !(0 == ~cond); {6061#true} is VALID [2022-02-20 14:24:30,772 INFO L290 TraceCheckUtils]: 32: Hoare triple {6061#true} ~cond := #in~cond; {6061#true} is VALID [2022-02-20 14:24:30,772 INFO L272 TraceCheckUtils]: 31: Hoare triple {6062#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {6061#true} is VALID [2022-02-20 14:24:30,772 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6061#true} {6062#false} #122#return; {6062#false} is VALID [2022-02-20 14:24:30,772 INFO L290 TraceCheckUtils]: 29: Hoare triple {6061#true} assume true; {6061#true} is VALID [2022-02-20 14:24:30,772 INFO L290 TraceCheckUtils]: 28: Hoare triple {6061#true} assume !(0 == ~cond); {6061#true} is VALID [2022-02-20 14:24:30,772 INFO L290 TraceCheckUtils]: 27: Hoare triple {6061#true} ~cond := #in~cond; {6061#true} is VALID [2022-02-20 14:24:30,772 INFO L272 TraceCheckUtils]: 26: Hoare triple {6062#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {6061#true} is VALID [2022-02-20 14:24:30,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {6062#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {6062#false} is VALID [2022-02-20 14:24:30,772 INFO L290 TraceCheckUtils]: 24: Hoare triple {6062#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,772 INFO L290 TraceCheckUtils]: 23: Hoare triple {6062#false} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {6062#false} is VALID [2022-02-20 14:24:30,773 INFO L290 TraceCheckUtils]: 22: Hoare triple {6391#(< |ULTIMATE.start_main_~column~0#1| ~ARR_SIZE~0)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {6062#false} is VALID [2022-02-20 14:24:30,774 INFO L290 TraceCheckUtils]: 21: Hoare triple {6395#(< (+ |ULTIMATE.start_main_~column~0#1| 1) ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6391#(< |ULTIMATE.start_main_~column~0#1| ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,774 INFO L290 TraceCheckUtils]: 20: Hoare triple {6395#(< (+ |ULTIMATE.start_main_~column~0#1| 1) ~ARR_SIZE~0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6395#(< (+ |ULTIMATE.start_main_~column~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {6402#(< (+ 2 |ULTIMATE.start_main_~column~0#1|) ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6395#(< (+ |ULTIMATE.start_main_~column~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {6402#(< (+ 2 |ULTIMATE.start_main_~column~0#1|) ~ARR_SIZE~0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6402#(< (+ 2 |ULTIMATE.start_main_~column~0#1|) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,775 INFO L290 TraceCheckUtils]: 17: Hoare triple {6108#(< 2 ~ARR_SIZE~0)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {6402#(< (+ 2 |ULTIMATE.start_main_~column~0#1|) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,776 INFO L290 TraceCheckUtils]: 16: Hoare triple {6108#(< 2 ~ARR_SIZE~0)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {6108#(< 2 ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {6108#(< 2 ~ARR_SIZE~0)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {6108#(< 2 ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {6108#(< 2 ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6108#(< 2 ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {6104#(<= 2 |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6108#(< 2 ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:30,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {6097#(<= 1 |ULTIMATE.start_main_~column~0#1|)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6104#(<= 2 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,778 INFO L290 TraceCheckUtils]: 11: Hoare triple {6097#(<= 1 |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6097#(<= 1 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,779 INFO L290 TraceCheckUtils]: 10: Hoare triple {6090#(<= 0 |ULTIMATE.start_main_~column~0#1|)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {6097#(<= 1 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {6090#(<= 0 |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {6090#(<= 0 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {6061#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {6090#(<= 0 |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:30,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {6061#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {6061#true} is VALID [2022-02-20 14:24:30,779 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6061#true} {6061#true} #120#return; {6061#true} is VALID [2022-02-20 14:24:30,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {6061#true} assume true; {6061#true} is VALID [2022-02-20 14:24:30,780 INFO L290 TraceCheckUtils]: 4: Hoare triple {6061#true} assume !(0 == ~cond); {6061#true} is VALID [2022-02-20 14:24:30,780 INFO L290 TraceCheckUtils]: 3: Hoare triple {6061#true} ~cond := #in~cond; {6061#true} is VALID [2022-02-20 14:24:30,780 INFO L272 TraceCheckUtils]: 2: Hoare triple {6061#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {6061#true} is VALID [2022-02-20 14:24:30,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {6061#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {6061#true} is VALID [2022-02-20 14:24:30,780 INFO L290 TraceCheckUtils]: 0: Hoare triple {6061#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {6061#true} is VALID [2022-02-20 14:24:30,780 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 8 proven. 27 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-02-20 14:24:30,780 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:30,780 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2084363031] [2022-02-20 14:24:30,780 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:30,780 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [220399928] [2022-02-20 14:24:30,781 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [220399928] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:24:30,781 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:24:30,781 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-02-20 14:24:30,781 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1252022264] [2022-02-20 14:24:30,781 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:24:30,782 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.5) internal successors, (54), 12 states have internal predecessors, (54), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 14:24:30,782 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:30,782 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 4.5) internal successors, (54), 12 states have internal predecessors, (54), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:30,834 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:30,834 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 14:24:30,834 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:30,835 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 14:24:30,835 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-02-20 14:24:30,835 INFO L87 Difference]: Start difference. First operand 156 states and 187 transitions. Second operand has 12 states, 12 states have (on average 4.5) internal successors, (54), 12 states have internal predecessors, (54), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:31,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:31,735 INFO L93 Difference]: Finished difference Result 214 states and 252 transitions. [2022-02-20 14:24:31,735 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 14:24:31,735 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.5) internal successors, (54), 12 states have internal predecessors, (54), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 14:24:31,735 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:31,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.5) internal successors, (54), 12 states have internal predecessors, (54), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:31,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 148 transitions. [2022-02-20 14:24:31,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.5) internal successors, (54), 12 states have internal predecessors, (54), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:31,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 148 transitions. [2022-02-20 14:24:31,739 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 148 transitions. [2022-02-20 14:24:31,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:31,875 INFO L225 Difference]: With dead ends: 214 [2022-02-20 14:24:31,875 INFO L226 Difference]: Without dead ends: 163 [2022-02-20 14:24:31,875 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 118 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=99, Invalid=243, Unknown=0, NotChecked=0, Total=342 [2022-02-20 14:24:31,876 INFO L933 BasicCegarLoop]: 63 mSDtfsCounter, 66 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 263 SdHoareTripleChecker+Invalid, 280 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:31,876 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [70 Valid, 263 Invalid, 280 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 253 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 14:24:31,877 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-02-20 14:24:32,079 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 156. [2022-02-20 14:24:32,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:32,080 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 156 states, 134 states have (on average 1.1567164179104477) internal successors, (155), 134 states have internal predecessors, (155), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:32,080 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 156 states, 134 states have (on average 1.1567164179104477) internal successors, (155), 134 states have internal predecessors, (155), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:32,081 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 156 states, 134 states have (on average 1.1567164179104477) internal successors, (155), 134 states have internal predecessors, (155), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:32,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:32,084 INFO L93 Difference]: Finished difference Result 163 states and 190 transitions. [2022-02-20 14:24:32,085 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 190 transitions. [2022-02-20 14:24:32,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:32,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:32,085 INFO L74 IsIncluded]: Start isIncluded. First operand has 156 states, 134 states have (on average 1.1567164179104477) internal successors, (155), 134 states have internal predecessors, (155), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) Second operand 163 states. [2022-02-20 14:24:32,086 INFO L87 Difference]: Start difference. First operand has 156 states, 134 states have (on average 1.1567164179104477) internal successors, (155), 134 states have internal predecessors, (155), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) Second operand 163 states. [2022-02-20 14:24:32,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:32,089 INFO L93 Difference]: Finished difference Result 163 states and 190 transitions. [2022-02-20 14:24:32,089 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 190 transitions. [2022-02-20 14:24:32,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:32,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:32,090 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:32,090 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:32,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 156 states, 134 states have (on average 1.1567164179104477) internal successors, (155), 134 states have internal predecessors, (155), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:32,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 156 states to 156 states and 184 transitions. [2022-02-20 14:24:32,094 INFO L78 Accepts]: Start accepts. Automaton has 156 states and 184 transitions. Word has length 65 [2022-02-20 14:24:32,094 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:32,094 INFO L470 AbstractCegarLoop]: Abstraction has 156 states and 184 transitions. [2022-02-20 14:24:32,094 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 4.5) internal successors, (54), 12 states have internal predecessors, (54), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:32,094 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 184 transitions. [2022-02-20 14:24:32,095 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-02-20 14:24:32,095 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:32,095 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:32,101 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-02-20 14:24:32,301 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-02-20 14:24:32,301 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:32,301 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:32,301 INFO L85 PathProgramCache]: Analyzing trace with hash -834557719, now seen corresponding path program 1 times [2022-02-20 14:24:32,301 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:32,302 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1522603534] [2022-02-20 14:24:32,302 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:32,302 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:32,320 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:32,320 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1615743106] [2022-02-20 14:24:32,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:32,320 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:32,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:32,322 INFO L229 MonitoredProcess]: Starting monitored process 11 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:24:32,345 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-02-20 14:24:32,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:32,398 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 14:24:32,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:32,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:32,541 INFO L290 TraceCheckUtils]: 0: Hoare triple {7314#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {7314#true} is VALID [2022-02-20 14:24:32,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {7314#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {7314#true} is VALID [2022-02-20 14:24:32,541 INFO L272 TraceCheckUtils]: 2: Hoare triple {7314#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {7314#true} is VALID [2022-02-20 14:24:32,541 INFO L290 TraceCheckUtils]: 3: Hoare triple {7314#true} ~cond := #in~cond; {7314#true} is VALID [2022-02-20 14:24:32,541 INFO L290 TraceCheckUtils]: 4: Hoare triple {7314#true} assume !(0 == ~cond); {7314#true} is VALID [2022-02-20 14:24:32,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {7314#true} assume true; {7314#true} is VALID [2022-02-20 14:24:32,541 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {7314#true} {7314#true} #120#return; {7314#true} is VALID [2022-02-20 14:24:32,541 INFO L290 TraceCheckUtils]: 7: Hoare triple {7314#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {7314#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {7314#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 10: Hoare triple {7314#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {7314#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 12: Hoare triple {7314#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {7314#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {7314#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 15: Hoare triple {7314#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 16: Hoare triple {7314#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 17: Hoare triple {7314#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {7314#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {7314#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {7314#true} is VALID [2022-02-20 14:24:32,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {7314#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L290 TraceCheckUtils]: 21: Hoare triple {7314#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {7314#true} assume !(main_~row~0#1 < ~ARR_SIZE~0); {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L290 TraceCheckUtils]: 23: Hoare triple {7314#true} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L272 TraceCheckUtils]: 24: Hoare triple {7314#true} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {7314#true} ~cond := #in~cond; {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L290 TraceCheckUtils]: 26: Hoare triple {7314#true} assume !(0 == ~cond); {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L290 TraceCheckUtils]: 27: Hoare triple {7314#true} assume true; {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7314#true} {7314#true} #122#return; {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L272 TraceCheckUtils]: 29: Hoare triple {7314#true} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {7314#true} is VALID [2022-02-20 14:24:32,543 INFO L290 TraceCheckUtils]: 30: Hoare triple {7314#true} ~cond := #in~cond; {7314#true} is VALID [2022-02-20 14:24:32,544 INFO L290 TraceCheckUtils]: 31: Hoare triple {7314#true} assume !(0 == ~cond); {7314#true} is VALID [2022-02-20 14:24:32,544 INFO L290 TraceCheckUtils]: 32: Hoare triple {7314#true} assume true; {7314#true} is VALID [2022-02-20 14:24:32,547 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7314#true} {7314#true} #124#return; {7314#true} is VALID [2022-02-20 14:24:32,547 INFO L272 TraceCheckUtils]: 34: Hoare triple {7314#true} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {7314#true} is VALID [2022-02-20 14:24:32,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {7314#true} ~index := #in~index; {7314#true} is VALID [2022-02-20 14:24:32,551 INFO L290 TraceCheckUtils]: 36: Hoare triple {7314#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {7427#(<= 1 |outerBoundaryPatternCheck_#res|)} is VALID [2022-02-20 14:24:32,552 INFO L290 TraceCheckUtils]: 37: Hoare triple {7427#(<= 1 |outerBoundaryPatternCheck_#res|)} assume true; {7427#(<= 1 |outerBoundaryPatternCheck_#res|)} is VALID [2022-02-20 14:24:32,553 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7427#(<= 1 |outerBoundaryPatternCheck_#res|)} {7314#true} #126#return; {7434#(<= 1 |ULTIMATE.start_main_#t~ret9#1|)} is VALID [2022-02-20 14:24:32,553 INFO L290 TraceCheckUtils]: 39: Hoare triple {7434#(<= 1 |ULTIMATE.start_main_#t~ret9#1|)} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {7438#|ULTIMATE.start_main_#t~short11#1|} is VALID [2022-02-20 14:24:32,554 INFO L290 TraceCheckUtils]: 40: Hoare triple {7438#|ULTIMATE.start_main_#t~short11#1|} assume !main_#t~short11#1; {7315#false} is VALID [2022-02-20 14:24:32,554 INFO L272 TraceCheckUtils]: 41: Hoare triple {7315#false} call main_#t~ret10#1 := outerBoundaryPatternCheck(main_~index2~0#1); {7315#false} is VALID [2022-02-20 14:24:32,554 INFO L290 TraceCheckUtils]: 42: Hoare triple {7315#false} ~index := #in~index; {7315#false} is VALID [2022-02-20 14:24:32,554 INFO L290 TraceCheckUtils]: 43: Hoare triple {7315#false} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {7315#false} is VALID [2022-02-20 14:24:32,554 INFO L290 TraceCheckUtils]: 44: Hoare triple {7315#false} assume true; {7315#false} is VALID [2022-02-20 14:24:32,554 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7315#false} {7315#false} #128#return; {7315#false} is VALID [2022-02-20 14:24:32,554 INFO L290 TraceCheckUtils]: 46: Hoare triple {7315#false} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret10#1; {7315#false} is VALID [2022-02-20 14:24:32,555 INFO L290 TraceCheckUtils]: 47: Hoare triple {7315#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {7315#false} is VALID [2022-02-20 14:24:32,555 INFO L290 TraceCheckUtils]: 48: Hoare triple {7315#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {7315#false} is VALID [2022-02-20 14:24:32,555 INFO L290 TraceCheckUtils]: 49: Hoare triple {7315#false} assume 0 == main_~temp~0#1; {7315#false} is VALID [2022-02-20 14:24:32,555 INFO L290 TraceCheckUtils]: 50: Hoare triple {7315#false} main_~row~0#1 := 0; {7315#false} is VALID [2022-02-20 14:24:32,555 INFO L290 TraceCheckUtils]: 51: Hoare triple {7315#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {7315#false} is VALID [2022-02-20 14:24:32,555 INFO L290 TraceCheckUtils]: 52: Hoare triple {7315#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {7315#false} is VALID [2022-02-20 14:24:32,556 INFO L290 TraceCheckUtils]: 53: Hoare triple {7315#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7315#false} is VALID [2022-02-20 14:24:32,556 INFO L290 TraceCheckUtils]: 54: Hoare triple {7315#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {7315#false} is VALID [2022-02-20 14:24:32,556 INFO L290 TraceCheckUtils]: 55: Hoare triple {7315#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7315#false} is VALID [2022-02-20 14:24:32,556 INFO L290 TraceCheckUtils]: 56: Hoare triple {7315#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {7315#false} is VALID [2022-02-20 14:24:32,556 INFO L290 TraceCheckUtils]: 57: Hoare triple {7315#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {7315#false} is VALID [2022-02-20 14:24:32,556 INFO L290 TraceCheckUtils]: 58: Hoare triple {7315#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {7315#false} is VALID [2022-02-20 14:24:32,556 INFO L290 TraceCheckUtils]: 59: Hoare triple {7315#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {7315#false} is VALID [2022-02-20 14:24:32,557 INFO L290 TraceCheckUtils]: 60: Hoare triple {7315#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7315#false} is VALID [2022-02-20 14:24:32,557 INFO L290 TraceCheckUtils]: 61: Hoare triple {7315#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {7315#false} is VALID [2022-02-20 14:24:32,557 INFO L290 TraceCheckUtils]: 62: Hoare triple {7315#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {7315#false} is VALID [2022-02-20 14:24:32,557 INFO L290 TraceCheckUtils]: 63: Hoare triple {7315#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {7315#false} is VALID [2022-02-20 14:24:32,557 INFO L290 TraceCheckUtils]: 64: Hoare triple {7315#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {7315#false} is VALID [2022-02-20 14:24:32,557 INFO L290 TraceCheckUtils]: 65: Hoare triple {7315#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {7315#false} is VALID [2022-02-20 14:24:32,558 INFO L290 TraceCheckUtils]: 66: Hoare triple {7315#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {7315#false} is VALID [2022-02-20 14:24:32,558 INFO L290 TraceCheckUtils]: 67: Hoare triple {7315#false} assume 0 == __VERIFIER_assert_~cond#1; {7315#false} is VALID [2022-02-20 14:24:32,558 INFO L290 TraceCheckUtils]: 68: Hoare triple {7315#false} assume !false; {7315#false} is VALID [2022-02-20 14:24:32,558 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-02-20 14:24:32,558 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:24:32,558 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:32,559 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1522603534] [2022-02-20 14:24:32,559 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:32,559 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1615743106] [2022-02-20 14:24:32,559 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1615743106] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:24:32,559 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:24:32,559 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 14:24:32,560 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [575644835] [2022-02-20 14:24:32,560 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:24:32,560 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.0) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 69 [2022-02-20 14:24:32,560 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:32,561 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 7.0) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 14:24:32,602 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:24:32,603 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 14:24:32,603 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:32,603 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 14:24:32,603 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 14:24:32,604 INFO L87 Difference]: Start difference. First operand 156 states and 184 transitions. Second operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 14:24:32,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:32,938 INFO L93 Difference]: Finished difference Result 248 states and 293 transitions. [2022-02-20 14:24:32,938 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 14:24:32,938 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.0) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 69 [2022-02-20 14:24:32,938 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:32,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 14:24:32,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-02-20 14:24:32,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 14:24:32,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-02-20 14:24:32,941 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 89 transitions. [2022-02-20 14:24:33,008 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:33,012 INFO L225 Difference]: With dead ends: 248 [2022-02-20 14:24:33,012 INFO L226 Difference]: Without dead ends: 160 [2022-02-20 14:24:33,012 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 65 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 14:24:33,013 INFO L933 BasicCegarLoop]: 43 mSDtfsCounter, 5 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 17 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:33,013 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 164 Invalid, 17 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:24:33,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-02-20 14:24:33,235 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 156. [2022-02-20 14:24:33,236 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:33,236 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 156 states, 134 states have (on average 1.1343283582089552) internal successors, (152), 134 states have internal predecessors, (152), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:33,237 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 156 states, 134 states have (on average 1.1343283582089552) internal successors, (152), 134 states have internal predecessors, (152), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:33,237 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 156 states, 134 states have (on average 1.1343283582089552) internal successors, (152), 134 states have internal predecessors, (152), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:33,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:33,241 INFO L93 Difference]: Finished difference Result 160 states and 185 transitions. [2022-02-20 14:24:33,241 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 185 transitions. [2022-02-20 14:24:33,241 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:33,241 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:33,242 INFO L74 IsIncluded]: Start isIncluded. First operand has 156 states, 134 states have (on average 1.1343283582089552) internal successors, (152), 134 states have internal predecessors, (152), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) Second operand 160 states. [2022-02-20 14:24:33,242 INFO L87 Difference]: Start difference. First operand has 156 states, 134 states have (on average 1.1343283582089552) internal successors, (152), 134 states have internal predecessors, (152), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) Second operand 160 states. [2022-02-20 14:24:33,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:33,246 INFO L93 Difference]: Finished difference Result 160 states and 185 transitions. [2022-02-20 14:24:33,246 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 185 transitions. [2022-02-20 14:24:33,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:33,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:33,247 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:33,247 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:33,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 156 states, 134 states have (on average 1.1343283582089552) internal successors, (152), 134 states have internal predecessors, (152), 12 states have call successors, (12), 7 states have call predecessors, (12), 9 states have return successors, (17), 14 states have call predecessors, (17), 12 states have call successors, (17) [2022-02-20 14:24:33,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 156 states to 156 states and 181 transitions. [2022-02-20 14:24:33,251 INFO L78 Accepts]: Start accepts. Automaton has 156 states and 181 transitions. Word has length 69 [2022-02-20 14:24:33,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:33,251 INFO L470 AbstractCegarLoop]: Abstraction has 156 states and 181 transitions. [2022-02-20 14:24:33,251 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 7.0) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 14:24:33,251 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 181 transitions. [2022-02-20 14:24:33,253 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-02-20 14:24:33,253 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:33,253 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:33,279 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-02-20 14:24:33,477 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-02-20 14:24:33,477 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:33,478 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:33,478 INFO L85 PathProgramCache]: Analyzing trace with hash 1276732650, now seen corresponding path program 1 times [2022-02-20 14:24:33,478 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:33,478 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [486708156] [2022-02-20 14:24:33,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:33,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:33,497 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:33,498 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [20669658] [2022-02-20 14:24:33,498 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:33,498 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:33,498 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:33,499 INFO L229 MonitoredProcess]: Starting monitored process 12 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:24:33,502 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-02-20 14:24:33,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:33,571 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 14:24:33,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:33,585 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:34,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {8409#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {8409#true} is VALID [2022-02-20 14:24:34,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {8409#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {8409#true} is VALID [2022-02-20 14:24:34,019 INFO L272 TraceCheckUtils]: 2: Hoare triple {8409#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {8409#true} is VALID [2022-02-20 14:24:34,019 INFO L290 TraceCheckUtils]: 3: Hoare triple {8409#true} ~cond := #in~cond; {8409#true} is VALID [2022-02-20 14:24:34,019 INFO L290 TraceCheckUtils]: 4: Hoare triple {8409#true} assume !(0 == ~cond); {8409#true} is VALID [2022-02-20 14:24:34,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {8409#true} assume true; {8409#true} is VALID [2022-02-20 14:24:34,019 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {8409#true} {8409#true} #120#return; {8409#true} is VALID [2022-02-20 14:24:34,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {8409#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {8409#true} is VALID [2022-02-20 14:24:34,019 INFO L290 TraceCheckUtils]: 8: Hoare triple {8409#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {8438#(<= |ULTIMATE.start_main_~column~0#1| 0)} is VALID [2022-02-20 14:24:34,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {8438#(<= |ULTIMATE.start_main_~column~0#1| 0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {8438#(<= |ULTIMATE.start_main_~column~0#1| 0)} is VALID [2022-02-20 14:24:34,021 INFO L290 TraceCheckUtils]: 10: Hoare triple {8438#(<= |ULTIMATE.start_main_~column~0#1| 0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {8445#(<= |ULTIMATE.start_main_~column~0#1| 1)} is VALID [2022-02-20 14:24:34,021 INFO L290 TraceCheckUtils]: 11: Hoare triple {8445#(<= |ULTIMATE.start_main_~column~0#1| 1)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {8445#(<= |ULTIMATE.start_main_~column~0#1| 1)} is VALID [2022-02-20 14:24:34,022 INFO L290 TraceCheckUtils]: 12: Hoare triple {8445#(<= |ULTIMATE.start_main_~column~0#1| 1)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {8452#(<= |ULTIMATE.start_main_~column~0#1| 2)} is VALID [2022-02-20 14:24:34,022 INFO L290 TraceCheckUtils]: 13: Hoare triple {8452#(<= |ULTIMATE.start_main_~column~0#1| 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,023 INFO L290 TraceCheckUtils]: 15: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,023 INFO L290 TraceCheckUtils]: 16: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,024 INFO L290 TraceCheckUtils]: 17: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,024 INFO L290 TraceCheckUtils]: 18: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,024 INFO L290 TraceCheckUtils]: 19: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,024 INFO L290 TraceCheckUtils]: 20: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,025 INFO L290 TraceCheckUtils]: 21: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,025 INFO L290 TraceCheckUtils]: 22: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !(main_~row~0#1 < ~ARR_SIZE~0); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,025 INFO L290 TraceCheckUtils]: 23: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,026 INFO L272 TraceCheckUtils]: 24: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,026 INFO L290 TraceCheckUtils]: 25: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} ~cond := #in~cond; {8493#(and (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,026 INFO L290 TraceCheckUtils]: 26: Hoare triple {8493#(and (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (<= ~ARR_SIZE~0 2))} assume !(0 == ~cond); {8497#(and (not (= |assume_abort_if_not_#in~cond| 0)) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,027 INFO L290 TraceCheckUtils]: 27: Hoare triple {8497#(and (not (= |assume_abort_if_not_#in~cond| 0)) (<= ~ARR_SIZE~0 2))} assume true; {8497#(and (not (= |assume_abort_if_not_#in~cond| 0)) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,028 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8497#(and (not (= |assume_abort_if_not_#in~cond| 0)) (<= ~ARR_SIZE~0 2))} {8456#(<= ~ARR_SIZE~0 2)} #122#return; {8504#(and (<= 0 |ULTIMATE.start_main_~index1~0#1|) (< |ULTIMATE.start_main_~index1~0#1| ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,029 INFO L272 TraceCheckUtils]: 29: Hoare triple {8504#(and (<= 0 |ULTIMATE.start_main_~index1~0#1|) (< |ULTIMATE.start_main_~index1~0#1| ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,029 INFO L290 TraceCheckUtils]: 30: Hoare triple {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} ~cond := #in~cond; {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,029 INFO L290 TraceCheckUtils]: 31: Hoare triple {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} assume !(0 == ~cond); {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,035 INFO L290 TraceCheckUtils]: 32: Hoare triple {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} assume true; {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,036 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} {8504#(and (<= 0 |ULTIMATE.start_main_~index1~0#1|) (< |ULTIMATE.start_main_~index1~0#1| ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} #124#return; {8504#(and (<= 0 |ULTIMATE.start_main_~index1~0#1|) (< |ULTIMATE.start_main_~index1~0#1| ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,037 INFO L272 TraceCheckUtils]: 34: Hoare triple {8504#(and (<= 0 |ULTIMATE.start_main_~index1~0#1|) (< |ULTIMATE.start_main_~index1~0#1| ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {8508#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} ~index := #in~index; {8527#(and (< 0 ~ARR_SIZE~0) (= |outerBoundaryPatternCheck_#in~index| outerBoundaryPatternCheck_~index) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,038 INFO L290 TraceCheckUtils]: 36: Hoare triple {8527#(and (< 0 ~ARR_SIZE~0) (= |outerBoundaryPatternCheck_#in~index| outerBoundaryPatternCheck_~index) (<= ~ARR_SIZE~0 2))} assume !(0 == ~index || ~index == ~ARR_SIZE~0 - 1);#res := 0; {8531#(and (< 0 ~ARR_SIZE~0) (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0)) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,039 INFO L290 TraceCheckUtils]: 37: Hoare triple {8531#(and (< 0 ~ARR_SIZE~0) (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0)) (<= ~ARR_SIZE~0 2))} assume true; {8531#(and (< 0 ~ARR_SIZE~0) (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0)) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:34,040 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8531#(and (< 0 ~ARR_SIZE~0) (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0)) (<= ~ARR_SIZE~0 2))} {8504#(and (<= 0 |ULTIMATE.start_main_~index1~0#1|) (< |ULTIMATE.start_main_~index1~0#1| ~ARR_SIZE~0) (<= ~ARR_SIZE~0 2))} #126#return; {8410#false} is VALID [2022-02-20 14:24:34,040 INFO L290 TraceCheckUtils]: 39: Hoare triple {8410#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {8410#false} is VALID [2022-02-20 14:24:34,040 INFO L290 TraceCheckUtils]: 40: Hoare triple {8410#false} assume !main_#t~short11#1; {8410#false} is VALID [2022-02-20 14:24:34,040 INFO L272 TraceCheckUtils]: 41: Hoare triple {8410#false} call main_#t~ret10#1 := outerBoundaryPatternCheck(main_~index2~0#1); {8410#false} is VALID [2022-02-20 14:24:34,040 INFO L290 TraceCheckUtils]: 42: Hoare triple {8410#false} ~index := #in~index; {8410#false} is VALID [2022-02-20 14:24:34,041 INFO L290 TraceCheckUtils]: 43: Hoare triple {8410#false} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {8410#false} is VALID [2022-02-20 14:24:34,041 INFO L290 TraceCheckUtils]: 44: Hoare triple {8410#false} assume true; {8410#false} is VALID [2022-02-20 14:24:34,041 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8410#false} {8410#false} #128#return; {8410#false} is VALID [2022-02-20 14:24:34,041 INFO L290 TraceCheckUtils]: 46: Hoare triple {8410#false} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret10#1; {8410#false} is VALID [2022-02-20 14:24:34,041 INFO L290 TraceCheckUtils]: 47: Hoare triple {8410#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {8410#false} is VALID [2022-02-20 14:24:34,041 INFO L290 TraceCheckUtils]: 48: Hoare triple {8410#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {8410#false} is VALID [2022-02-20 14:24:34,042 INFO L290 TraceCheckUtils]: 49: Hoare triple {8410#false} assume 0 == main_~temp~0#1; {8410#false} is VALID [2022-02-20 14:24:34,042 INFO L290 TraceCheckUtils]: 50: Hoare triple {8410#false} main_~row~0#1 := 0; {8410#false} is VALID [2022-02-20 14:24:34,042 INFO L290 TraceCheckUtils]: 51: Hoare triple {8410#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {8410#false} is VALID [2022-02-20 14:24:34,042 INFO L290 TraceCheckUtils]: 52: Hoare triple {8410#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {8410#false} is VALID [2022-02-20 14:24:34,042 INFO L290 TraceCheckUtils]: 53: Hoare triple {8410#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8410#false} is VALID [2022-02-20 14:24:34,042 INFO L290 TraceCheckUtils]: 54: Hoare triple {8410#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {8410#false} is VALID [2022-02-20 14:24:34,042 INFO L290 TraceCheckUtils]: 55: Hoare triple {8410#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8410#false} is VALID [2022-02-20 14:24:34,043 INFO L290 TraceCheckUtils]: 56: Hoare triple {8410#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {8410#false} is VALID [2022-02-20 14:24:34,043 INFO L290 TraceCheckUtils]: 57: Hoare triple {8410#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {8410#false} is VALID [2022-02-20 14:24:34,043 INFO L290 TraceCheckUtils]: 58: Hoare triple {8410#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {8410#false} is VALID [2022-02-20 14:24:34,043 INFO L290 TraceCheckUtils]: 59: Hoare triple {8410#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {8410#false} is VALID [2022-02-20 14:24:34,043 INFO L290 TraceCheckUtils]: 60: Hoare triple {8410#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8410#false} is VALID [2022-02-20 14:24:34,043 INFO L290 TraceCheckUtils]: 61: Hoare triple {8410#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {8410#false} is VALID [2022-02-20 14:24:34,044 INFO L290 TraceCheckUtils]: 62: Hoare triple {8410#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8410#false} is VALID [2022-02-20 14:24:34,044 INFO L290 TraceCheckUtils]: 63: Hoare triple {8410#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {8410#false} is VALID [2022-02-20 14:24:34,044 INFO L290 TraceCheckUtils]: 64: Hoare triple {8410#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {8410#false} is VALID [2022-02-20 14:24:34,044 INFO L290 TraceCheckUtils]: 65: Hoare triple {8410#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {8410#false} is VALID [2022-02-20 14:24:34,044 INFO L290 TraceCheckUtils]: 66: Hoare triple {8410#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {8410#false} is VALID [2022-02-20 14:24:34,044 INFO L290 TraceCheckUtils]: 67: Hoare triple {8410#false} assume 0 == __VERIFIER_assert_~cond#1; {8410#false} is VALID [2022-02-20 14:24:34,044 INFO L290 TraceCheckUtils]: 68: Hoare triple {8410#false} assume !false; {8410#false} is VALID [2022-02-20 14:24:34,045 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 15 proven. 20 refuted. 0 times theorem prover too weak. 31 trivial. 0 not checked. [2022-02-20 14:24:34,045 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:24:34,592 INFO L290 TraceCheckUtils]: 68: Hoare triple {8410#false} assume !false; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 67: Hoare triple {8410#false} assume 0 == __VERIFIER_assert_~cond#1; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 66: Hoare triple {8410#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 65: Hoare triple {8410#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 64: Hoare triple {8410#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 63: Hoare triple {8410#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 62: Hoare triple {8410#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 61: Hoare triple {8410#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 60: Hoare triple {8410#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 59: Hoare triple {8410#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 58: Hoare triple {8410#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 57: Hoare triple {8410#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 56: Hoare triple {8410#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 55: Hoare triple {8410#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8410#false} is VALID [2022-02-20 14:24:34,593 INFO L290 TraceCheckUtils]: 54: Hoare triple {8410#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 53: Hoare triple {8410#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 52: Hoare triple {8410#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 51: Hoare triple {8410#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 50: Hoare triple {8410#false} main_~row~0#1 := 0; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 49: Hoare triple {8410#false} assume 0 == main_~temp~0#1; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 48: Hoare triple {8410#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 47: Hoare triple {8410#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 46: Hoare triple {8410#false} assume -2147483648 <= main_#t~ret10#1 && main_#t~ret10#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret10#1; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8409#true} {8410#false} #128#return; {8410#false} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 44: Hoare triple {8409#true} assume true; {8409#true} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 43: Hoare triple {8409#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {8409#true} is VALID [2022-02-20 14:24:34,594 INFO L290 TraceCheckUtils]: 42: Hoare triple {8409#true} ~index := #in~index; {8409#true} is VALID [2022-02-20 14:24:34,595 INFO L272 TraceCheckUtils]: 41: Hoare triple {8410#false} call main_#t~ret10#1 := outerBoundaryPatternCheck(main_~index2~0#1); {8409#true} is VALID [2022-02-20 14:24:34,595 INFO L290 TraceCheckUtils]: 40: Hoare triple {8410#false} assume !main_#t~short11#1; {8410#false} is VALID [2022-02-20 14:24:34,595 INFO L290 TraceCheckUtils]: 39: Hoare triple {8410#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {8410#false} is VALID [2022-02-20 14:24:34,603 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8722#(and (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0)))} {8718#(or (= (+ (- 1) ~ARR_SIZE~0) |ULTIMATE.start_main_~index1~0#1|) (= |ULTIMATE.start_main_~index1~0#1| 0))} #126#return; {8410#false} is VALID [2022-02-20 14:24:34,603 INFO L290 TraceCheckUtils]: 37: Hoare triple {8722#(and (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0)))} assume true; {8722#(and (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0)))} is VALID [2022-02-20 14:24:34,605 INFO L290 TraceCheckUtils]: 36: Hoare triple {8729#(or (= (+ (- 1) ~ARR_SIZE~0) outerBoundaryPatternCheck_~index) (and (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0))) (= outerBoundaryPatternCheck_~index 0))} assume !(0 == ~index || ~index == ~ARR_SIZE~0 - 1);#res := 0; {8722#(and (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0)))} is VALID [2022-02-20 14:24:34,605 INFO L290 TraceCheckUtils]: 35: Hoare triple {8409#true} ~index := #in~index; {8729#(or (= (+ (- 1) ~ARR_SIZE~0) outerBoundaryPatternCheck_~index) (and (not (= |outerBoundaryPatternCheck_#in~index| (+ (- 1) ~ARR_SIZE~0))) (not (= |outerBoundaryPatternCheck_#in~index| 0))) (= outerBoundaryPatternCheck_~index 0))} is VALID [2022-02-20 14:24:34,605 INFO L272 TraceCheckUtils]: 34: Hoare triple {8718#(or (= (+ (- 1) ~ARR_SIZE~0) |ULTIMATE.start_main_~index1~0#1|) (= |ULTIMATE.start_main_~index1~0#1| 0))} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {8409#true} is VALID [2022-02-20 14:24:34,606 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8409#true} {8718#(or (= (+ (- 1) ~ARR_SIZE~0) |ULTIMATE.start_main_~index1~0#1|) (= |ULTIMATE.start_main_~index1~0#1| 0))} #124#return; {8718#(or (= (+ (- 1) ~ARR_SIZE~0) |ULTIMATE.start_main_~index1~0#1|) (= |ULTIMATE.start_main_~index1~0#1| 0))} is VALID [2022-02-20 14:24:34,606 INFO L290 TraceCheckUtils]: 32: Hoare triple {8409#true} assume true; {8409#true} is VALID [2022-02-20 14:24:34,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {8409#true} assume !(0 == ~cond); {8409#true} is VALID [2022-02-20 14:24:34,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {8409#true} ~cond := #in~cond; {8409#true} is VALID [2022-02-20 14:24:34,606 INFO L272 TraceCheckUtils]: 29: Hoare triple {8718#(or (= (+ (- 1) ~ARR_SIZE~0) |ULTIMATE.start_main_~index1~0#1|) (= |ULTIMATE.start_main_~index1~0#1| 0))} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {8409#true} is VALID [2022-02-20 14:24:34,607 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8754#(or (not (= |assume_abort_if_not_#in~cond| 0)) (not (<= ~ARR_SIZE~0 2)))} {8456#(<= ~ARR_SIZE~0 2)} #122#return; {8718#(or (= (+ (- 1) ~ARR_SIZE~0) |ULTIMATE.start_main_~index1~0#1|) (= |ULTIMATE.start_main_~index1~0#1| 0))} is VALID [2022-02-20 14:24:34,607 INFO L290 TraceCheckUtils]: 27: Hoare triple {8754#(or (not (= |assume_abort_if_not_#in~cond| 0)) (not (<= ~ARR_SIZE~0 2)))} assume true; {8754#(or (not (= |assume_abort_if_not_#in~cond| 0)) (not (<= ~ARR_SIZE~0 2)))} is VALID [2022-02-20 14:24:34,608 INFO L290 TraceCheckUtils]: 26: Hoare triple {8761#(or (not (= |assume_abort_if_not_#in~cond| 0)) (not (<= ~ARR_SIZE~0 2)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8754#(or (not (= |assume_abort_if_not_#in~cond| 0)) (not (<= ~ARR_SIZE~0 2)))} is VALID [2022-02-20 14:24:34,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {8409#true} ~cond := #in~cond; {8761#(or (not (= |assume_abort_if_not_#in~cond| 0)) (not (<= ~ARR_SIZE~0 2)) (= assume_abort_if_not_~cond 0))} is VALID [2022-02-20 14:24:34,608 INFO L272 TraceCheckUtils]: 24: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {8409#true} is VALID [2022-02-20 14:24:34,609 INFO L290 TraceCheckUtils]: 23: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !(main_~row~0#1 < ~ARR_SIZE~0); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,610 INFO L290 TraceCheckUtils]: 18: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {8456#(<= ~ARR_SIZE~0 2)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,612 INFO L290 TraceCheckUtils]: 13: Hoare triple {8452#(<= |ULTIMATE.start_main_~column~0#1| 2)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {8456#(<= ~ARR_SIZE~0 2)} is VALID [2022-02-20 14:24:34,612 INFO L290 TraceCheckUtils]: 12: Hoare triple {8445#(<= |ULTIMATE.start_main_~column~0#1| 1)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {8452#(<= |ULTIMATE.start_main_~column~0#1| 2)} is VALID [2022-02-20 14:24:34,613 INFO L290 TraceCheckUtils]: 11: Hoare triple {8445#(<= |ULTIMATE.start_main_~column~0#1| 1)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {8445#(<= |ULTIMATE.start_main_~column~0#1| 1)} is VALID [2022-02-20 14:24:34,613 INFO L290 TraceCheckUtils]: 10: Hoare triple {8438#(<= |ULTIMATE.start_main_~column~0#1| 0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {8445#(<= |ULTIMATE.start_main_~column~0#1| 1)} is VALID [2022-02-20 14:24:34,613 INFO L290 TraceCheckUtils]: 9: Hoare triple {8438#(<= |ULTIMATE.start_main_~column~0#1| 0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {8438#(<= |ULTIMATE.start_main_~column~0#1| 0)} is VALID [2022-02-20 14:24:34,614 INFO L290 TraceCheckUtils]: 8: Hoare triple {8409#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {8438#(<= |ULTIMATE.start_main_~column~0#1| 0)} is VALID [2022-02-20 14:24:34,614 INFO L290 TraceCheckUtils]: 7: Hoare triple {8409#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {8409#true} is VALID [2022-02-20 14:24:34,614 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {8409#true} {8409#true} #120#return; {8409#true} is VALID [2022-02-20 14:24:34,614 INFO L290 TraceCheckUtils]: 5: Hoare triple {8409#true} assume true; {8409#true} is VALID [2022-02-20 14:24:34,614 INFO L290 TraceCheckUtils]: 4: Hoare triple {8409#true} assume !(0 == ~cond); {8409#true} is VALID [2022-02-20 14:24:34,614 INFO L290 TraceCheckUtils]: 3: Hoare triple {8409#true} ~cond := #in~cond; {8409#true} is VALID [2022-02-20 14:24:34,614 INFO L272 TraceCheckUtils]: 2: Hoare triple {8409#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {8409#true} is VALID [2022-02-20 14:24:34,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {8409#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {8409#true} is VALID [2022-02-20 14:24:34,614 INFO L290 TraceCheckUtils]: 0: Hoare triple {8409#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {8409#true} is VALID [2022-02-20 14:24:34,615 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 5 proven. 23 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-02-20 14:24:34,615 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:34,615 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [486708156] [2022-02-20 14:24:34,615 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:34,615 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [20669658] [2022-02-20 14:24:34,615 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [20669658] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:24:34,615 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:24:34,615 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 17 [2022-02-20 14:24:34,615 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1413553277] [2022-02-20 14:24:34,615 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:24:34,616 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 3.7333333333333334) internal successors, (56), 15 states have internal predecessors, (56), 5 states have call successors, (9), 4 states have call predecessors, (9), 7 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 69 [2022-02-20 14:24:34,616 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:34,617 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 3.7333333333333334) internal successors, (56), 15 states have internal predecessors, (56), 5 states have call successors, (9), 4 states have call predecessors, (9), 7 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 14:24:34,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:34,678 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 14:24:34,678 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:34,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 14:24:34,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2022-02-20 14:24:34,679 INFO L87 Difference]: Start difference. First operand 156 states and 181 transitions. Second operand has 17 states, 15 states have (on average 3.7333333333333334) internal successors, (56), 15 states have internal predecessors, (56), 5 states have call successors, (9), 4 states have call predecessors, (9), 7 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 14:24:35,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:35,973 INFO L93 Difference]: Finished difference Result 215 states and 242 transitions. [2022-02-20 14:24:35,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-02-20 14:24:35,973 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 3.7333333333333334) internal successors, (56), 15 states have internal predecessors, (56), 5 states have call successors, (9), 4 states have call predecessors, (9), 7 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 69 [2022-02-20 14:24:35,974 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:35,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 3.7333333333333334) internal successors, (56), 15 states have internal predecessors, (56), 5 states have call successors, (9), 4 states have call predecessors, (9), 7 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 14:24:35,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 146 transitions. [2022-02-20 14:24:35,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 3.7333333333333334) internal successors, (56), 15 states have internal predecessors, (56), 5 states have call successors, (9), 4 states have call predecessors, (9), 7 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 14:24:35,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 146 transitions. [2022-02-20 14:24:35,978 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 146 transitions. [2022-02-20 14:24:36,123 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:36,126 INFO L225 Difference]: With dead ends: 215 [2022-02-20 14:24:36,126 INFO L226 Difference]: Without dead ends: 169 [2022-02-20 14:24:36,127 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 122 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 119 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=143, Invalid=613, Unknown=0, NotChecked=0, Total=756 [2022-02-20 14:24:36,127 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 74 mSDsluCounter, 213 mSDsCounter, 0 mSdLazyCounter, 351 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 74 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 388 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 351 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:36,128 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [74 Valid, 246 Invalid, 388 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 351 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 14:24:36,128 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-02-20 14:24:36,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 161. [2022-02-20 14:24:36,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:36,409 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 161 states, 137 states have (on average 1.1094890510948905) internal successors, (152), 139 states have internal predecessors, (152), 13 states have call successors, (13), 9 states have call predecessors, (13), 10 states have return successors, (15), 12 states have call predecessors, (15), 13 states have call successors, (15) [2022-02-20 14:24:36,410 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 161 states, 137 states have (on average 1.1094890510948905) internal successors, (152), 139 states have internal predecessors, (152), 13 states have call successors, (13), 9 states have call predecessors, (13), 10 states have return successors, (15), 12 states have call predecessors, (15), 13 states have call successors, (15) [2022-02-20 14:24:36,410 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 161 states, 137 states have (on average 1.1094890510948905) internal successors, (152), 139 states have internal predecessors, (152), 13 states have call successors, (13), 9 states have call predecessors, (13), 10 states have return successors, (15), 12 states have call predecessors, (15), 13 states have call successors, (15) [2022-02-20 14:24:36,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:36,416 INFO L93 Difference]: Finished difference Result 169 states and 187 transitions. [2022-02-20 14:24:36,416 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 187 transitions. [2022-02-20 14:24:36,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:36,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:36,417 INFO L74 IsIncluded]: Start isIncluded. First operand has 161 states, 137 states have (on average 1.1094890510948905) internal successors, (152), 139 states have internal predecessors, (152), 13 states have call successors, (13), 9 states have call predecessors, (13), 10 states have return successors, (15), 12 states have call predecessors, (15), 13 states have call successors, (15) Second operand 169 states. [2022-02-20 14:24:36,418 INFO L87 Difference]: Start difference. First operand has 161 states, 137 states have (on average 1.1094890510948905) internal successors, (152), 139 states have internal predecessors, (152), 13 states have call successors, (13), 9 states have call predecessors, (13), 10 states have return successors, (15), 12 states have call predecessors, (15), 13 states have call successors, (15) Second operand 169 states. [2022-02-20 14:24:36,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:36,421 INFO L93 Difference]: Finished difference Result 169 states and 187 transitions. [2022-02-20 14:24:36,422 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 187 transitions. [2022-02-20 14:24:36,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:36,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:36,427 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:36,427 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:36,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 161 states, 137 states have (on average 1.1094890510948905) internal successors, (152), 139 states have internal predecessors, (152), 13 states have call successors, (13), 9 states have call predecessors, (13), 10 states have return successors, (15), 12 states have call predecessors, (15), 13 states have call successors, (15) [2022-02-20 14:24:36,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 180 transitions. [2022-02-20 14:24:36,433 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 180 transitions. Word has length 69 [2022-02-20 14:24:36,433 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:36,434 INFO L470 AbstractCegarLoop]: Abstraction has 161 states and 180 transitions. [2022-02-20 14:24:36,434 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 3.7333333333333334) internal successors, (56), 15 states have internal predecessors, (56), 5 states have call successors, (9), 4 states have call predecessors, (9), 7 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-02-20 14:24:36,434 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 180 transitions. [2022-02-20 14:24:36,435 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2022-02-20 14:24:36,436 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:36,436 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:36,462 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-02-20 14:24:36,652 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-02-20 14:24:36,652 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:36,653 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:36,653 INFO L85 PathProgramCache]: Analyzing trace with hash 1130035513, now seen corresponding path program 6 times [2022-02-20 14:24:36,653 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:36,653 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [855023981] [2022-02-20 14:24:36,653 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:36,653 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:36,677 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:36,677 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [211448923] [2022-02-20 14:24:36,677 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-02-20 14:24:36,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:36,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:36,679 INFO L229 MonitoredProcess]: Starting monitored process 13 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:24:36,680 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-02-20 14:24:36,801 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-02-20 14:24:36,801 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:24:36,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 14:24:36,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:36,817 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:37,056 INFO L290 TraceCheckUtils]: 0: Hoare triple {9720#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {9720#true} is VALID [2022-02-20 14:24:37,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {9720#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {9720#true} is VALID [2022-02-20 14:24:37,057 INFO L272 TraceCheckUtils]: 2: Hoare triple {9720#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {9720#true} is VALID [2022-02-20 14:24:37,057 INFO L290 TraceCheckUtils]: 3: Hoare triple {9720#true} ~cond := #in~cond; {9720#true} is VALID [2022-02-20 14:24:37,057 INFO L290 TraceCheckUtils]: 4: Hoare triple {9720#true} assume !(0 == ~cond); {9720#true} is VALID [2022-02-20 14:24:37,057 INFO L290 TraceCheckUtils]: 5: Hoare triple {9720#true} assume true; {9720#true} is VALID [2022-02-20 14:24:37,057 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {9720#true} {9720#true} #120#return; {9720#true} is VALID [2022-02-20 14:24:37,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {9720#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {9720#true} is VALID [2022-02-20 14:24:37,058 INFO L290 TraceCheckUtils]: 8: Hoare triple {9720#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9720#true} is VALID [2022-02-20 14:24:37,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {9720#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {9720#true} is VALID [2022-02-20 14:24:37,058 INFO L290 TraceCheckUtils]: 10: Hoare triple {9720#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {9720#true} is VALID [2022-02-20 14:24:37,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {9720#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {9720#true} is VALID [2022-02-20 14:24:37,058 INFO L290 TraceCheckUtils]: 12: Hoare triple {9720#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {9720#true} is VALID [2022-02-20 14:24:37,058 INFO L290 TraceCheckUtils]: 13: Hoare triple {9720#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9720#true} is VALID [2022-02-20 14:24:37,059 INFO L290 TraceCheckUtils]: 14: Hoare triple {9720#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {9720#true} is VALID [2022-02-20 14:24:37,059 INFO L290 TraceCheckUtils]: 15: Hoare triple {9720#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9720#true} is VALID [2022-02-20 14:24:37,059 INFO L290 TraceCheckUtils]: 16: Hoare triple {9720#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {9720#true} is VALID [2022-02-20 14:24:37,059 INFO L290 TraceCheckUtils]: 17: Hoare triple {9720#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {9720#true} is VALID [2022-02-20 14:24:37,059 INFO L290 TraceCheckUtils]: 18: Hoare triple {9720#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {9720#true} is VALID [2022-02-20 14:24:37,059 INFO L290 TraceCheckUtils]: 19: Hoare triple {9720#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {9720#true} is VALID [2022-02-20 14:24:37,059 INFO L290 TraceCheckUtils]: 20: Hoare triple {9720#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9720#true} is VALID [2022-02-20 14:24:37,060 INFO L290 TraceCheckUtils]: 21: Hoare triple {9720#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {9720#true} is VALID [2022-02-20 14:24:37,060 INFO L290 TraceCheckUtils]: 22: Hoare triple {9720#true} assume !(main_~row~0#1 < ~ARR_SIZE~0); {9720#true} is VALID [2022-02-20 14:24:37,060 INFO L290 TraceCheckUtils]: 23: Hoare triple {9720#true} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {9720#true} is VALID [2022-02-20 14:24:37,060 INFO L272 TraceCheckUtils]: 24: Hoare triple {9720#true} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {9720#true} is VALID [2022-02-20 14:24:37,060 INFO L290 TraceCheckUtils]: 25: Hoare triple {9720#true} ~cond := #in~cond; {9720#true} is VALID [2022-02-20 14:24:37,060 INFO L290 TraceCheckUtils]: 26: Hoare triple {9720#true} assume !(0 == ~cond); {9720#true} is VALID [2022-02-20 14:24:37,060 INFO L290 TraceCheckUtils]: 27: Hoare triple {9720#true} assume true; {9720#true} is VALID [2022-02-20 14:24:37,061 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9720#true} {9720#true} #122#return; {9720#true} is VALID [2022-02-20 14:24:37,061 INFO L272 TraceCheckUtils]: 29: Hoare triple {9720#true} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {9720#true} is VALID [2022-02-20 14:24:37,061 INFO L290 TraceCheckUtils]: 30: Hoare triple {9720#true} ~cond := #in~cond; {9720#true} is VALID [2022-02-20 14:24:37,061 INFO L290 TraceCheckUtils]: 31: Hoare triple {9720#true} assume !(0 == ~cond); {9720#true} is VALID [2022-02-20 14:24:37,061 INFO L290 TraceCheckUtils]: 32: Hoare triple {9720#true} assume true; {9720#true} is VALID [2022-02-20 14:24:37,061 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9720#true} {9720#true} #124#return; {9720#true} is VALID [2022-02-20 14:24:37,061 INFO L272 TraceCheckUtils]: 34: Hoare triple {9720#true} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {9720#true} is VALID [2022-02-20 14:24:37,062 INFO L290 TraceCheckUtils]: 35: Hoare triple {9720#true} ~index := #in~index; {9720#true} is VALID [2022-02-20 14:24:37,062 INFO L290 TraceCheckUtils]: 36: Hoare triple {9720#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {9720#true} is VALID [2022-02-20 14:24:37,062 INFO L290 TraceCheckUtils]: 37: Hoare triple {9720#true} assume true; {9720#true} is VALID [2022-02-20 14:24:37,062 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9720#true} {9720#true} #126#return; {9720#true} is VALID [2022-02-20 14:24:37,062 INFO L290 TraceCheckUtils]: 39: Hoare triple {9720#true} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {9720#true} is VALID [2022-02-20 14:24:37,062 INFO L290 TraceCheckUtils]: 40: Hoare triple {9720#true} assume main_#t~short11#1; {9720#true} is VALID [2022-02-20 14:24:37,062 INFO L290 TraceCheckUtils]: 41: Hoare triple {9720#true} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {9720#true} is VALID [2022-02-20 14:24:37,063 INFO L290 TraceCheckUtils]: 42: Hoare triple {9720#true} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {9720#true} is VALID [2022-02-20 14:24:37,063 INFO L290 TraceCheckUtils]: 43: Hoare triple {9720#true} assume 0 == main_~temp~0#1; {9720#true} is VALID [2022-02-20 14:24:37,063 INFO L290 TraceCheckUtils]: 44: Hoare triple {9720#true} main_~row~0#1 := 0; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,064 INFO L290 TraceCheckUtils]: 45: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,064 INFO L290 TraceCheckUtils]: 46: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,064 INFO L290 TraceCheckUtils]: 47: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,065 INFO L290 TraceCheckUtils]: 48: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,065 INFO L290 TraceCheckUtils]: 49: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,065 INFO L290 TraceCheckUtils]: 50: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,067 INFO L290 TraceCheckUtils]: 51: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {9879#(<= 1 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,068 INFO L290 TraceCheckUtils]: 52: Hoare triple {9879#(<= 1 |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9883#(and (<= |ULTIMATE.start_main_~column~0#1| 0) (<= 1 |ULTIMATE.start_main_~row~0#1|))} is VALID [2022-02-20 14:24:37,068 INFO L290 TraceCheckUtils]: 53: Hoare triple {9883#(and (<= |ULTIMATE.start_main_~column~0#1| 0) (<= 1 |ULTIMATE.start_main_~row~0#1|))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9883#(and (<= |ULTIMATE.start_main_~column~0#1| 0) (<= 1 |ULTIMATE.start_main_~row~0#1|))} is VALID [2022-02-20 14:24:37,069 INFO L290 TraceCheckUtils]: 54: Hoare triple {9883#(and (<= |ULTIMATE.start_main_~column~0#1| 0) (<= 1 |ULTIMATE.start_main_~row~0#1|))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9890#(and (<= |ULTIMATE.start_main_~column~0#1| 1) (<= 1 |ULTIMATE.start_main_~row~0#1|))} is VALID [2022-02-20 14:24:37,069 INFO L290 TraceCheckUtils]: 55: Hoare triple {9890#(and (<= |ULTIMATE.start_main_~column~0#1| 1) (<= 1 |ULTIMATE.start_main_~row~0#1|))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9890#(and (<= |ULTIMATE.start_main_~column~0#1| 1) (<= 1 |ULTIMATE.start_main_~row~0#1|))} is VALID [2022-02-20 14:24:37,070 INFO L290 TraceCheckUtils]: 56: Hoare triple {9890#(and (<= |ULTIMATE.start_main_~column~0#1| 1) (<= 1 |ULTIMATE.start_main_~row~0#1|))} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9897#(and (<= |ULTIMATE.start_main_~column~0#1| 2) (<= 1 |ULTIMATE.start_main_~row~0#1|))} is VALID [2022-02-20 14:24:37,071 INFO L290 TraceCheckUtils]: 57: Hoare triple {9897#(and (<= |ULTIMATE.start_main_~column~0#1| 2) (<= 1 |ULTIMATE.start_main_~row~0#1|))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9901#(and (<= ~ARR_SIZE~0 2) (<= 1 |ULTIMATE.start_main_~row~0#1|))} is VALID [2022-02-20 14:24:37,072 INFO L290 TraceCheckUtils]: 58: Hoare triple {9901#(and (<= ~ARR_SIZE~0 2) (<= 1 |ULTIMATE.start_main_~row~0#1|))} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {9905#(and (<= 2 |ULTIMATE.start_main_~row~0#1|) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:24:37,072 INFO L290 TraceCheckUtils]: 59: Hoare triple {9905#(and (<= 2 |ULTIMATE.start_main_~row~0#1|) (<= ~ARR_SIZE~0 2))} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9721#false} is VALID [2022-02-20 14:24:37,073 INFO L290 TraceCheckUtils]: 60: Hoare triple {9721#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9721#false} is VALID [2022-02-20 14:24:37,073 INFO L290 TraceCheckUtils]: 61: Hoare triple {9721#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9721#false} is VALID [2022-02-20 14:24:37,073 INFO L290 TraceCheckUtils]: 62: Hoare triple {9721#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9721#false} is VALID [2022-02-20 14:24:37,073 INFO L290 TraceCheckUtils]: 63: Hoare triple {9721#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9721#false} is VALID [2022-02-20 14:24:37,073 INFO L290 TraceCheckUtils]: 64: Hoare triple {9721#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9721#false} is VALID [2022-02-20 14:24:37,073 INFO L290 TraceCheckUtils]: 65: Hoare triple {9721#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {9721#false} is VALID [2022-02-20 14:24:37,073 INFO L290 TraceCheckUtils]: 66: Hoare triple {9721#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {9721#false} is VALID [2022-02-20 14:24:37,074 INFO L290 TraceCheckUtils]: 67: Hoare triple {9721#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {9721#false} is VALID [2022-02-20 14:24:37,074 INFO L290 TraceCheckUtils]: 68: Hoare triple {9721#false} assume 0 == __VERIFIER_assert_~cond#1; {9721#false} is VALID [2022-02-20 14:24:37,074 INFO L290 TraceCheckUtils]: 69: Hoare triple {9721#false} assume !false; {9721#false} is VALID [2022-02-20 14:24:37,074 INFO L134 CoverageAnalysis]: Checked inductivity of 97 backedges. 48 proven. 4 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 14:24:37,074 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:24:37,318 INFO L290 TraceCheckUtils]: 69: Hoare triple {9721#false} assume !false; {9721#false} is VALID [2022-02-20 14:24:37,318 INFO L290 TraceCheckUtils]: 68: Hoare triple {9721#false} assume 0 == __VERIFIER_assert_~cond#1; {9721#false} is VALID [2022-02-20 14:24:37,318 INFO L290 TraceCheckUtils]: 67: Hoare triple {9721#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {9721#false} is VALID [2022-02-20 14:24:37,318 INFO L290 TraceCheckUtils]: 66: Hoare triple {9721#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {9721#false} is VALID [2022-02-20 14:24:37,318 INFO L290 TraceCheckUtils]: 65: Hoare triple {9721#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {9721#false} is VALID [2022-02-20 14:24:37,318 INFO L290 TraceCheckUtils]: 64: Hoare triple {9721#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9721#false} is VALID [2022-02-20 14:24:37,318 INFO L290 TraceCheckUtils]: 63: Hoare triple {9721#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9721#false} is VALID [2022-02-20 14:24:37,319 INFO L290 TraceCheckUtils]: 62: Hoare triple {9721#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9721#false} is VALID [2022-02-20 14:24:37,319 INFO L290 TraceCheckUtils]: 61: Hoare triple {9721#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9721#false} is VALID [2022-02-20 14:24:37,319 INFO L290 TraceCheckUtils]: 60: Hoare triple {9721#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9721#false} is VALID [2022-02-20 14:24:37,331 INFO L290 TraceCheckUtils]: 59: Hoare triple {9969#(not (< |ULTIMATE.start_main_~row~0#1| ~ARR_SIZE~0))} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9721#false} is VALID [2022-02-20 14:24:37,333 INFO L290 TraceCheckUtils]: 58: Hoare triple {9973#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~row~0#1| 1))} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {9969#(not (< |ULTIMATE.start_main_~row~0#1| ~ARR_SIZE~0))} is VALID [2022-02-20 14:24:37,334 INFO L290 TraceCheckUtils]: 57: Hoare triple {9977#(<= |ULTIMATE.start_main_~column~0#1| (+ |ULTIMATE.start_main_~row~0#1| 1))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9973#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:37,335 INFO L290 TraceCheckUtils]: 56: Hoare triple {9981#(<= |ULTIMATE.start_main_~column~0#1| |ULTIMATE.start_main_~row~0#1|)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9977#(<= |ULTIMATE.start_main_~column~0#1| (+ |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:37,336 INFO L290 TraceCheckUtils]: 55: Hoare triple {9981#(<= |ULTIMATE.start_main_~column~0#1| |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9981#(<= |ULTIMATE.start_main_~column~0#1| |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,337 INFO L290 TraceCheckUtils]: 54: Hoare triple {9988#(<= (+ |ULTIMATE.start_main_~column~0#1| 1) |ULTIMATE.start_main_~row~0#1|)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9981#(<= |ULTIMATE.start_main_~column~0#1| |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,337 INFO L290 TraceCheckUtils]: 53: Hoare triple {9988#(<= (+ |ULTIMATE.start_main_~column~0#1| 1) |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9988#(<= (+ |ULTIMATE.start_main_~column~0#1| 1) |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,338 INFO L290 TraceCheckUtils]: 52: Hoare triple {9879#(<= 1 |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9988#(<= (+ |ULTIMATE.start_main_~column~0#1| 1) |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,339 INFO L290 TraceCheckUtils]: 51: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {9879#(<= 1 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,340 INFO L290 TraceCheckUtils]: 50: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,340 INFO L290 TraceCheckUtils]: 49: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,341 INFO L290 TraceCheckUtils]: 48: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,341 INFO L290 TraceCheckUtils]: 47: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,342 INFO L290 TraceCheckUtils]: 46: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,342 INFO L290 TraceCheckUtils]: 45: Hoare triple {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,343 INFO L290 TraceCheckUtils]: 44: Hoare triple {9720#true} main_~row~0#1 := 0; {9857#(<= 0 |ULTIMATE.start_main_~row~0#1|)} is VALID [2022-02-20 14:24:37,343 INFO L290 TraceCheckUtils]: 43: Hoare triple {9720#true} assume 0 == main_~temp~0#1; {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L290 TraceCheckUtils]: 42: Hoare triple {9720#true} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L290 TraceCheckUtils]: 41: Hoare triple {9720#true} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {9720#true} assume main_#t~short11#1; {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L290 TraceCheckUtils]: 39: Hoare triple {9720#true} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9720#true} {9720#true} #126#return; {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L290 TraceCheckUtils]: 37: Hoare triple {9720#true} assume true; {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L290 TraceCheckUtils]: 36: Hoare triple {9720#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L290 TraceCheckUtils]: 35: Hoare triple {9720#true} ~index := #in~index; {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L272 TraceCheckUtils]: 34: Hoare triple {9720#true} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {9720#true} is VALID [2022-02-20 14:24:37,343 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9720#true} {9720#true} #124#return; {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L290 TraceCheckUtils]: 32: Hoare triple {9720#true} assume true; {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {9720#true} assume !(0 == ~cond); {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L290 TraceCheckUtils]: 30: Hoare triple {9720#true} ~cond := #in~cond; {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L272 TraceCheckUtils]: 29: Hoare triple {9720#true} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9720#true} {9720#true} #122#return; {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L290 TraceCheckUtils]: 27: Hoare triple {9720#true} assume true; {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L290 TraceCheckUtils]: 26: Hoare triple {9720#true} assume !(0 == ~cond); {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L290 TraceCheckUtils]: 25: Hoare triple {9720#true} ~cond := #in~cond; {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L272 TraceCheckUtils]: 24: Hoare triple {9720#true} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {9720#true} is VALID [2022-02-20 14:24:37,344 INFO L290 TraceCheckUtils]: 23: Hoare triple {9720#true} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 22: Hoare triple {9720#true} assume !(main_~row~0#1 < ~ARR_SIZE~0); {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 21: Hoare triple {9720#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {9720#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 19: Hoare triple {9720#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {9720#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 17: Hoare triple {9720#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 16: Hoare triple {9720#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {9720#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {9720#true} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {9720#true} is VALID [2022-02-20 14:24:37,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {9720#true} assume !(main_~column~0#1 < ~ARR_SIZE~0); {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 12: Hoare triple {9720#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 11: Hoare triple {9720#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 10: Hoare triple {9720#true} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {9720#true} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {9720#true} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {9720#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {9720#true} {9720#true} #120#return; {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {9720#true} assume true; {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 4: Hoare triple {9720#true} assume !(0 == ~cond); {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 3: Hoare triple {9720#true} ~cond := #in~cond; {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L272 TraceCheckUtils]: 2: Hoare triple {9720#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {9720#true} is VALID [2022-02-20 14:24:37,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {9720#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {9720#true} is VALID [2022-02-20 14:24:37,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {9720#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {9720#true} is VALID [2022-02-20 14:24:37,347 INFO L134 CoverageAnalysis]: Checked inductivity of 97 backedges. 32 proven. 20 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-02-20 14:24:37,347 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:37,347 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [855023981] [2022-02-20 14:24:37,347 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:37,347 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [211448923] [2022-02-20 14:24:37,347 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [211448923] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:24:37,347 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:24:37,347 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-02-20 14:24:37,347 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1809435477] [2022-02-20 14:24:37,347 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:24:37,348 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.642857142857143) internal successors, (51), 14 states have internal predecessors, (51), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 70 [2022-02-20 14:24:37,348 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:37,348 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.642857142857143) internal successors, (51), 14 states have internal predecessors, (51), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:37,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:37,398 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 14:24:37,398 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:37,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 14:24:37,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=129, Unknown=0, NotChecked=0, Total=182 [2022-02-20 14:24:37,399 INFO L87 Difference]: Start difference. First operand 161 states and 180 transitions. Second operand has 14 states, 14 states have (on average 3.642857142857143) internal successors, (51), 14 states have internal predecessors, (51), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:38,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:38,386 INFO L93 Difference]: Finished difference Result 175 states and 193 transitions. [2022-02-20 14:24:38,386 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 14:24:38,386 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.642857142857143) internal successors, (51), 14 states have internal predecessors, (51), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 70 [2022-02-20 14:24:38,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:38,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.642857142857143) internal successors, (51), 14 states have internal predecessors, (51), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:38,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 132 transitions. [2022-02-20 14:24:38,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.642857142857143) internal successors, (51), 14 states have internal predecessors, (51), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:38,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 132 transitions. [2022-02-20 14:24:38,390 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 132 transitions. [2022-02-20 14:24:38,523 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:38,524 INFO L225 Difference]: With dead ends: 175 [2022-02-20 14:24:38,524 INFO L226 Difference]: Without dead ends: 77 [2022-02-20 14:24:38,525 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 131 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=99, Invalid=243, Unknown=0, NotChecked=0, Total=342 [2022-02-20 14:24:38,526 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 89 mSDsluCounter, 175 mSDsCounter, 0 mSdLazyCounter, 267 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 319 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 267 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:38,526 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [89 Valid, 211 Invalid, 319 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 267 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 14:24:38,526 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-02-20 14:24:38,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 75. [2022-02-20 14:24:38,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:38,627 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 75 states, 65 states have (on average 1.1384615384615384) internal successors, (74), 65 states have internal predecessors, (74), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 14:24:38,627 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 75 states, 65 states have (on average 1.1384615384615384) internal successors, (74), 65 states have internal predecessors, (74), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 14:24:38,627 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 75 states, 65 states have (on average 1.1384615384615384) internal successors, (74), 65 states have internal predecessors, (74), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 14:24:38,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:38,629 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2022-02-20 14:24:38,629 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2022-02-20 14:24:38,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:38,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:38,630 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 65 states have (on average 1.1384615384615384) internal successors, (74), 65 states have internal predecessors, (74), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Second operand 77 states. [2022-02-20 14:24:38,630 INFO L87 Difference]: Start difference. First operand has 75 states, 65 states have (on average 1.1384615384615384) internal successors, (74), 65 states have internal predecessors, (74), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Second operand 77 states. [2022-02-20 14:24:38,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:38,631 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2022-02-20 14:24:38,631 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2022-02-20 14:24:38,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:38,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:38,632 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:38,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:38,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 65 states have (on average 1.1384615384615384) internal successors, (74), 65 states have internal predecessors, (74), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 14:24:38,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 86 transitions. [2022-02-20 14:24:38,634 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 86 transitions. Word has length 70 [2022-02-20 14:24:38,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:38,634 INFO L470 AbstractCegarLoop]: Abstraction has 75 states and 86 transitions. [2022-02-20 14:24:38,634 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.642857142857143) internal successors, (51), 14 states have internal predecessors, (51), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 14:24:38,635 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 86 transitions. [2022-02-20 14:24:38,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-02-20 14:24:38,635 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:38,635 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:38,661 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-02-20 14:24:38,860 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-02-20 14:24:38,860 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:38,860 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:38,860 INFO L85 PathProgramCache]: Analyzing trace with hash 1478551406, now seen corresponding path program 7 times [2022-02-20 14:24:38,861 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:38,861 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1340414900] [2022-02-20 14:24:38,861 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:38,861 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:38,885 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:38,885 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [652812278] [2022-02-20 14:24:38,885 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-02-20 14:24:38,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:38,885 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:38,887 INFO L229 MonitoredProcess]: Starting monitored process 14 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:24:38,888 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-02-20 14:24:38,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:38,962 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 14:24:38,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:38,977 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:39,296 INFO L290 TraceCheckUtils]: 0: Hoare triple {10670#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {10670#true} is VALID [2022-02-20 14:24:39,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {10670#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {10670#true} is VALID [2022-02-20 14:24:39,296 INFO L272 TraceCheckUtils]: 2: Hoare triple {10670#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {10670#true} is VALID [2022-02-20 14:24:39,297 INFO L290 TraceCheckUtils]: 3: Hoare triple {10670#true} ~cond := #in~cond; {10670#true} is VALID [2022-02-20 14:24:39,297 INFO L290 TraceCheckUtils]: 4: Hoare triple {10670#true} assume !(0 == ~cond); {10670#true} is VALID [2022-02-20 14:24:39,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {10670#true} assume true; {10670#true} is VALID [2022-02-20 14:24:39,297 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {10670#true} {10670#true} #120#return; {10670#true} is VALID [2022-02-20 14:24:39,298 INFO L290 TraceCheckUtils]: 7: Hoare triple {10670#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {10696#(<= |ULTIMATE.start_main_~row~0#1| 0)} is VALID [2022-02-20 14:24:39,298 INFO L290 TraceCheckUtils]: 8: Hoare triple {10696#(<= |ULTIMATE.start_main_~row~0#1| 0)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {10700#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 0 |ULTIMATE.start_main_~column~0#1|))} is VALID [2022-02-20 14:24:39,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {10700#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 0 |ULTIMATE.start_main_~column~0#1|))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {10700#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 0 |ULTIMATE.start_main_~column~0#1|))} is VALID [2022-02-20 14:24:39,300 INFO L290 TraceCheckUtils]: 10: Hoare triple {10700#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 0 |ULTIMATE.start_main_~column~0#1|))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {10707#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 1 |ULTIMATE.start_main_~column~0#1|))} is VALID [2022-02-20 14:24:39,300 INFO L290 TraceCheckUtils]: 11: Hoare triple {10707#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 1 |ULTIMATE.start_main_~column~0#1|))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {10707#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 1 |ULTIMATE.start_main_~column~0#1|))} is VALID [2022-02-20 14:24:39,301 INFO L290 TraceCheckUtils]: 12: Hoare triple {10707#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (<= 1 |ULTIMATE.start_main_~column~0#1|))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {10714#(and (<= 2 |ULTIMATE.start_main_~column~0#1|) (<= |ULTIMATE.start_main_~row~0#1| 0))} is VALID [2022-02-20 14:24:39,302 INFO L290 TraceCheckUtils]: 13: Hoare triple {10714#(and (<= 2 |ULTIMATE.start_main_~column~0#1|) (<= |ULTIMATE.start_main_~row~0#1| 0))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {10718#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 2 ~ARR_SIZE~0))} is VALID [2022-02-20 14:24:39,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {10718#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 2 ~ARR_SIZE~0))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {10718#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 2 ~ARR_SIZE~0))} is VALID [2022-02-20 14:24:39,303 INFO L290 TraceCheckUtils]: 15: Hoare triple {10718#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 2 ~ARR_SIZE~0))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {10718#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 2 ~ARR_SIZE~0))} is VALID [2022-02-20 14:24:39,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {10718#(and (<= |ULTIMATE.start_main_~row~0#1| 0) (< 2 ~ARR_SIZE~0))} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:39,304 INFO L290 TraceCheckUtils]: 17: Hoare triple {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:39,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:39,305 INFO L290 TraceCheckUtils]: 19: Hoare triple {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:39,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:39,306 INFO L290 TraceCheckUtils]: 21: Hoare triple {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:39,306 INFO L290 TraceCheckUtils]: 22: Hoare triple {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:39,307 INFO L290 TraceCheckUtils]: 23: Hoare triple {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:39,307 INFO L290 TraceCheckUtils]: 24: Hoare triple {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} assume !(main_~column~0#1 < ~ARR_SIZE~0); {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} is VALID [2022-02-20 14:24:39,308 INFO L290 TraceCheckUtils]: 25: Hoare triple {10728#(and (< 2 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~row~0#1| 1))} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {10756#(and (<= |ULTIMATE.start_main_~row~0#1| 2) (< 2 ~ARR_SIZE~0))} is VALID [2022-02-20 14:24:39,309 INFO L290 TraceCheckUtils]: 26: Hoare triple {10756#(and (<= |ULTIMATE.start_main_~row~0#1| 2) (< 2 ~ARR_SIZE~0))} assume !(main_~row~0#1 < ~ARR_SIZE~0); {10671#false} is VALID [2022-02-20 14:24:39,310 INFO L290 TraceCheckUtils]: 27: Hoare triple {10671#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {10671#false} is VALID [2022-02-20 14:24:39,310 INFO L272 TraceCheckUtils]: 28: Hoare triple {10671#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {10671#false} is VALID [2022-02-20 14:24:39,310 INFO L290 TraceCheckUtils]: 29: Hoare triple {10671#false} ~cond := #in~cond; {10671#false} is VALID [2022-02-20 14:24:39,310 INFO L290 TraceCheckUtils]: 30: Hoare triple {10671#false} assume !(0 == ~cond); {10671#false} is VALID [2022-02-20 14:24:39,310 INFO L290 TraceCheckUtils]: 31: Hoare triple {10671#false} assume true; {10671#false} is VALID [2022-02-20 14:24:39,310 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10671#false} {10671#false} #122#return; {10671#false} is VALID [2022-02-20 14:24:39,310 INFO L272 TraceCheckUtils]: 33: Hoare triple {10671#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {10671#false} is VALID [2022-02-20 14:24:39,311 INFO L290 TraceCheckUtils]: 34: Hoare triple {10671#false} ~cond := #in~cond; {10671#false} is VALID [2022-02-20 14:24:39,311 INFO L290 TraceCheckUtils]: 35: Hoare triple {10671#false} assume !(0 == ~cond); {10671#false} is VALID [2022-02-20 14:24:39,311 INFO L290 TraceCheckUtils]: 36: Hoare triple {10671#false} assume true; {10671#false} is VALID [2022-02-20 14:24:39,311 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10671#false} {10671#false} #124#return; {10671#false} is VALID [2022-02-20 14:24:39,311 INFO L272 TraceCheckUtils]: 38: Hoare triple {10671#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {10671#false} is VALID [2022-02-20 14:24:39,311 INFO L290 TraceCheckUtils]: 39: Hoare triple {10671#false} ~index := #in~index; {10671#false} is VALID [2022-02-20 14:24:39,311 INFO L290 TraceCheckUtils]: 40: Hoare triple {10671#false} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {10671#false} is VALID [2022-02-20 14:24:39,312 INFO L290 TraceCheckUtils]: 41: Hoare triple {10671#false} assume true; {10671#false} is VALID [2022-02-20 14:24:39,312 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10671#false} {10671#false} #126#return; {10671#false} is VALID [2022-02-20 14:24:39,312 INFO L290 TraceCheckUtils]: 43: Hoare triple {10671#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {10671#false} is VALID [2022-02-20 14:24:39,312 INFO L290 TraceCheckUtils]: 44: Hoare triple {10671#false} assume main_#t~short11#1; {10671#false} is VALID [2022-02-20 14:24:39,312 INFO L290 TraceCheckUtils]: 45: Hoare triple {10671#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {10671#false} is VALID [2022-02-20 14:24:39,312 INFO L290 TraceCheckUtils]: 46: Hoare triple {10671#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {10671#false} is VALID [2022-02-20 14:24:39,312 INFO L290 TraceCheckUtils]: 47: Hoare triple {10671#false} assume 0 == main_~temp~0#1; {10671#false} is VALID [2022-02-20 14:24:39,313 INFO L290 TraceCheckUtils]: 48: Hoare triple {10671#false} main_~row~0#1 := 0; {10671#false} is VALID [2022-02-20 14:24:39,313 INFO L290 TraceCheckUtils]: 49: Hoare triple {10671#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {10671#false} is VALID [2022-02-20 14:24:39,313 INFO L290 TraceCheckUtils]: 50: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,313 INFO L290 TraceCheckUtils]: 51: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,313 INFO L290 TraceCheckUtils]: 52: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,313 INFO L290 TraceCheckUtils]: 53: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,313 INFO L290 TraceCheckUtils]: 54: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,313 INFO L290 TraceCheckUtils]: 55: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,314 INFO L290 TraceCheckUtils]: 56: Hoare triple {10671#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {10671#false} is VALID [2022-02-20 14:24:39,314 INFO L290 TraceCheckUtils]: 57: Hoare triple {10671#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {10671#false} is VALID [2022-02-20 14:24:39,314 INFO L290 TraceCheckUtils]: 58: Hoare triple {10671#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {10671#false} is VALID [2022-02-20 14:24:39,314 INFO L290 TraceCheckUtils]: 59: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,314 INFO L290 TraceCheckUtils]: 60: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,314 INFO L290 TraceCheckUtils]: 61: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,314 INFO L290 TraceCheckUtils]: 62: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,315 INFO L290 TraceCheckUtils]: 63: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,315 INFO L290 TraceCheckUtils]: 64: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,315 INFO L290 TraceCheckUtils]: 65: Hoare triple {10671#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {10671#false} is VALID [2022-02-20 14:24:39,315 INFO L290 TraceCheckUtils]: 66: Hoare triple {10671#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {10671#false} is VALID [2022-02-20 14:24:39,315 INFO L290 TraceCheckUtils]: 67: Hoare triple {10671#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {10671#false} is VALID [2022-02-20 14:24:39,315 INFO L290 TraceCheckUtils]: 68: Hoare triple {10671#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {10671#false} is VALID [2022-02-20 14:24:39,315 INFO L290 TraceCheckUtils]: 69: Hoare triple {10671#false} assume 0 == __VERIFIER_assert_~cond#1; {10671#false} is VALID [2022-02-20 14:24:39,316 INFO L290 TraceCheckUtils]: 70: Hoare triple {10671#false} assume !false; {10671#false} is VALID [2022-02-20 14:24:39,316 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 34 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-02-20 14:24:39,316 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:24:39,653 INFO L290 TraceCheckUtils]: 70: Hoare triple {10671#false} assume !false; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 69: Hoare triple {10671#false} assume 0 == __VERIFIER_assert_~cond#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 68: Hoare triple {10671#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum~0#1 >= 0 && main_~sum~0#1 <= (~ARR_SIZE~0 - 2) * (~ARR_SIZE~0 - 2) then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 67: Hoare triple {10671#false} assume !(main_~row~0#1 < ~ARR_SIZE~0); {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 66: Hoare triple {10671#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 65: Hoare triple {10671#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 64: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 63: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 62: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 61: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 60: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 59: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 58: Hoare triple {10671#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 57: Hoare triple {10671#false} main_#t~post15#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post15#1;havoc main_#t~post15#1; {10671#false} is VALID [2022-02-20 14:24:39,654 INFO L290 TraceCheckUtils]: 56: Hoare triple {10671#false} assume !(main_~column~0#1 < ~ARR_SIZE~0); {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 55: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 54: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 53: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 52: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 51: Hoare triple {10671#false} main_#t~post16#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 50: Hoare triple {10671#false} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call main_#t~mem17#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem17#1;havoc main_#t~mem17#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 49: Hoare triple {10671#false} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 48: Hoare triple {10671#false} main_~row~0#1 := 0; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 47: Hoare triple {10671#false} assume 0 == main_~temp~0#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 46: Hoare triple {10671#false} call write~int(main_#t~ite13#1, main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);havoc main_#t~ret9#1;havoc main_#t~ret10#1;havoc main_#t~short11#1;havoc main_#t~ite13#1;havoc main_#t~mem12#1;assume -2147483648 <= main_#t~nondet14#1 && main_#t~nondet14#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet14#1;havoc main_#t~nondet14#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 45: Hoare triple {10671#false} assume main_#t~short11#1;call main_#t~mem12#1 := read~int(main_~#array~0#1.base, main_~#array~0#1.offset + main_~index1~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~index2~0#1, 4);main_#t~ite13#1 := main_#t~mem12#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 44: Hoare triple {10671#false} assume main_#t~short11#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L290 TraceCheckUtils]: 43: Hoare triple {10671#false} assume -2147483648 <= main_#t~ret9#1 && main_#t~ret9#1 <= 2147483647;main_#t~short11#1 := 0 != main_#t~ret9#1; {10671#false} is VALID [2022-02-20 14:24:39,655 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10670#true} {10671#false} #126#return; {10671#false} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 41: Hoare triple {10670#true} assume true; {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 40: Hoare triple {10670#true} assume 0 == ~index || ~index == ~ARR_SIZE~0 - 1;#res := 1; {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 39: Hoare triple {10670#true} ~index := #in~index; {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L272 TraceCheckUtils]: 38: Hoare triple {10671#false} call main_#t~ret9#1 := outerBoundaryPatternCheck(main_~index1~0#1); {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10670#true} {10671#false} #124#return; {10671#false} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 36: Hoare triple {10670#true} assume true; {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 35: Hoare triple {10670#true} assume !(0 == ~cond); {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 34: Hoare triple {10670#true} ~cond := #in~cond; {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L272 TraceCheckUtils]: 33: Hoare triple {10671#false} call assume_abort_if_not((if main_~index2~0#1 >= 0 && main_~index2~0#1 < ~ARR_SIZE~0 then 1 else 0)); {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10670#true} {10671#false} #122#return; {10671#false} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 31: Hoare triple {10670#true} assume true; {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {10670#true} assume !(0 == ~cond); {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 29: Hoare triple {10670#true} ~cond := #in~cond; {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L272 TraceCheckUtils]: 28: Hoare triple {10671#false} call assume_abort_if_not((if main_~index1~0#1 >= 0 && main_~index1~0#1 < ~ARR_SIZE~0 then 1 else 0)); {10670#true} is VALID [2022-02-20 14:24:39,656 INFO L290 TraceCheckUtils]: 27: Hoare triple {10671#false} assume !false;assume -32768 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 32767;main_~index1~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1;assume -32768 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 32767;main_~index2~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {10671#false} is VALID [2022-02-20 14:24:39,657 INFO L290 TraceCheckUtils]: 26: Hoare triple {11024#(< |ULTIMATE.start_main_~row~0#1| ~ARR_SIZE~0)} assume !(main_~row~0#1 < ~ARR_SIZE~0); {10671#false} is VALID [2022-02-20 14:24:39,659 INFO L290 TraceCheckUtils]: 25: Hoare triple {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {11024#(< |ULTIMATE.start_main_~row~0#1| ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,659 INFO L290 TraceCheckUtils]: 24: Hoare triple {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,659 INFO L290 TraceCheckUtils]: 22: Hoare triple {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,660 INFO L290 TraceCheckUtils]: 21: Hoare triple {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,661 INFO L290 TraceCheckUtils]: 18: Hoare triple {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,661 INFO L290 TraceCheckUtils]: 17: Hoare triple {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,662 INFO L290 TraceCheckUtils]: 16: Hoare triple {11056#(< (+ 2 |ULTIMATE.start_main_~row~0#1|) ~ARR_SIZE~0)} main_#t~post5#1 := main_~row~0#1;main_~row~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {11028#(< (+ |ULTIMATE.start_main_~row~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,662 INFO L290 TraceCheckUtils]: 15: Hoare triple {11056#(< (+ 2 |ULTIMATE.start_main_~row~0#1|) ~ARR_SIZE~0)} assume !(main_~column~0#1 < ~ARR_SIZE~0); {11056#(< (+ 2 |ULTIMATE.start_main_~row~0#1|) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,662 INFO L290 TraceCheckUtils]: 14: Hoare triple {11056#(< (+ 2 |ULTIMATE.start_main_~row~0#1|) ~ARR_SIZE~0)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {11056#(< (+ 2 |ULTIMATE.start_main_~row~0#1|) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {11066#(<= (+ 2 |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {11056#(< (+ 2 |ULTIMATE.start_main_~row~0#1|) ~ARR_SIZE~0)} is VALID [2022-02-20 14:24:39,664 INFO L290 TraceCheckUtils]: 12: Hoare triple {11070#(<= (+ |ULTIMATE.start_main_~row~0#1| 1) |ULTIMATE.start_main_~column~0#1|)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {11066#(<= (+ 2 |ULTIMATE.start_main_~row~0#1|) |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:39,665 INFO L290 TraceCheckUtils]: 11: Hoare triple {11070#(<= (+ |ULTIMATE.start_main_~row~0#1| 1) |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {11070#(<= (+ |ULTIMATE.start_main_~row~0#1| 1) |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:39,665 INFO L290 TraceCheckUtils]: 10: Hoare triple {11077#(<= |ULTIMATE.start_main_~row~0#1| |ULTIMATE.start_main_~column~0#1|)} main_#t~post6#1 := main_~column~0#1;main_~column~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1; {11070#(<= (+ |ULTIMATE.start_main_~row~0#1| 1) |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:39,666 INFO L290 TraceCheckUtils]: 9: Hoare triple {11077#(<= |ULTIMATE.start_main_~row~0#1| |ULTIMATE.start_main_~column~0#1|)} assume !!(main_~column~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array~0#1.base, main_~#array~0#1.offset + main_~row~0#1 * (4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296)) + 4 * main_~column~0#1, 4); {11077#(<= |ULTIMATE.start_main_~row~0#1| |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:39,666 INFO L290 TraceCheckUtils]: 8: Hoare triple {10696#(<= |ULTIMATE.start_main_~row~0#1| 0)} assume !!(main_~row~0#1 < ~ARR_SIZE~0);main_~column~0#1 := 0; {11077#(<= |ULTIMATE.start_main_~row~0#1| |ULTIMATE.start_main_~column~0#1|)} is VALID [2022-02-20 14:24:39,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {10670#true} call main_~#array~0#1.base, main_~#array~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296) * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~row~0#1 := 0;main_~column~0#1 := 0;main_~num~0#1 := -1;main_~sum~0#1 := 0;havoc main_~temp~0#1;havoc main_~index1~0#1;havoc main_~index2~0#1;main_~row~0#1 := 0; {10696#(<= |ULTIMATE.start_main_~row~0#1| 0)} is VALID [2022-02-20 14:24:39,667 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {10670#true} {10670#true} #120#return; {10670#true} is VALID [2022-02-20 14:24:39,667 INFO L290 TraceCheckUtils]: 5: Hoare triple {10670#true} assume true; {10670#true} is VALID [2022-02-20 14:24:39,667 INFO L290 TraceCheckUtils]: 4: Hoare triple {10670#true} assume !(0 == ~cond); {10670#true} is VALID [2022-02-20 14:24:39,667 INFO L290 TraceCheckUtils]: 3: Hoare triple {10670#true} ~cond := #in~cond; {10670#true} is VALID [2022-02-20 14:24:39,667 INFO L272 TraceCheckUtils]: 2: Hoare triple {10670#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 1 then 1 else 0)); {10670#true} is VALID [2022-02-20 14:24:39,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {10670#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post6#1, main_#t~post5#1, main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_#t~ret10#1, main_#t~short11#1, main_#t~ite13#1, main_#t~mem12#1, main_#t~nondet14#1, main_#t~mem17#1, main_#t~post16#1, main_#t~post15#1, main_~#array~0#1.base, main_~#array~0#1.offset, main_~row~0#1, main_~column~0#1, main_~num~0#1, main_~sum~0#1, main_~temp~0#1, main_~index1~0#1, main_~index2~0#1;assume -32768 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 32767;~ARR_SIZE~0 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {10670#true} is VALID [2022-02-20 14:24:39,667 INFO L290 TraceCheckUtils]: 0: Hoare triple {10670#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {10670#true} is VALID [2022-02-20 14:24:39,667 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 4 proven. 34 refuted. 0 times theorem prover too weak. 68 trivial. 0 not checked. [2022-02-20 14:24:39,668 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:39,668 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1340414900] [2022-02-20 14:24:39,668 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:39,668 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [652812278] [2022-02-20 14:24:39,668 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [652812278] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:24:39,668 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:24:39,668 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2022-02-20 14:24:39,668 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1371054934] [2022-02-20 14:24:39,668 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:24:39,669 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.066666666666666) internal successors, (61), 15 states have internal predecessors, (61), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 71 [2022-02-20 14:24:39,669 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:39,669 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 4.066666666666666) internal successors, (61), 15 states have internal predecessors, (61), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:39,740 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:39,741 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 14:24:39,741 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:39,741 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 14:24:39,741 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=155, Unknown=0, NotChecked=0, Total=210 [2022-02-20 14:24:39,741 INFO L87 Difference]: Start difference. First operand 75 states and 86 transitions. Second operand has 15 states, 15 states have (on average 4.066666666666666) internal successors, (61), 15 states have internal predecessors, (61), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:40,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:40,623 INFO L93 Difference]: Finished difference Result 157 states and 182 transitions. [2022-02-20 14:24:40,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-02-20 14:24:40,623 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.066666666666666) internal successors, (61), 15 states have internal predecessors, (61), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 71 [2022-02-20 14:24:40,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:40,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.066666666666666) internal successors, (61), 15 states have internal predecessors, (61), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:40,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 123 transitions. [2022-02-20 14:24:40,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.066666666666666) internal successors, (61), 15 states have internal predecessors, (61), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:40,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 123 transitions. [2022-02-20 14:24:40,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 123 transitions. [2022-02-20 14:24:40,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:40,753 INFO L225 Difference]: With dead ends: 157 [2022-02-20 14:24:40,753 INFO L226 Difference]: Without dead ends: 109 [2022-02-20 14:24:40,754 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 127 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=155, Invalid=397, Unknown=0, NotChecked=0, Total=552 [2022-02-20 14:24:40,754 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 64 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 204 mSolverCounterSat, 55 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 259 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 55 IncrementalHoareTripleChecker+Valid, 204 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:40,754 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 210 Invalid, 259 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [55 Valid, 204 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 14:24:40,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2022-02-20 14:24:40,893 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 93. [2022-02-20 14:24:40,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:40,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 93 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 83 states have internal predecessors, (94), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 14:24:40,894 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 93 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 83 states have internal predecessors, (94), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 14:24:40,894 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 93 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 83 states have internal predecessors, (94), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 14:24:40,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:40,896 INFO L93 Difference]: Finished difference Result 109 states and 124 transitions. [2022-02-20 14:24:40,897 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 124 transitions. [2022-02-20 14:24:40,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:40,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:40,897 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 83 states have internal predecessors, (94), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Second operand 109 states. [2022-02-20 14:24:40,898 INFO L87 Difference]: Start difference. First operand has 93 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 83 states have internal predecessors, (94), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Second operand 109 states. [2022-02-20 14:24:40,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:40,899 INFO L93 Difference]: Finished difference Result 109 states and 124 transitions. [2022-02-20 14:24:40,900 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 124 transitions. [2022-02-20 14:24:40,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:40,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:40,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:40,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:40,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 83 states have (on average 1.1325301204819278) internal successors, (94), 83 states have internal predecessors, (94), 5 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-20 14:24:40,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 106 transitions. [2022-02-20 14:24:40,902 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 106 transitions. Word has length 71 [2022-02-20 14:24:40,902 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:40,903 INFO L470 AbstractCegarLoop]: Abstraction has 93 states and 106 transitions. [2022-02-20 14:24:40,903 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 4.066666666666666) internal successors, (61), 15 states have internal predecessors, (61), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 14:24:40,903 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 106 transitions. [2022-02-20 14:24:40,903 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-02-20 14:24:40,904 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:40,904 INFO L514 BasicCegarLoop]: trace histogram [9, 9, 9, 9, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:40,936 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-02-20 14:24:41,127 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-02-20 14:24:41,127 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:41,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:41,128 INFO L85 PathProgramCache]: Analyzing trace with hash 599706749, now seen corresponding path program 8 times [2022-02-20 14:24:41,128 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:41,128 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [876818365] [2022-02-20 14:24:41,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:41,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:41,155 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:41,155 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [610951371] [2022-02-20 14:24:41,156 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 14:24:41,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:41,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:41,157 INFO L229 MonitoredProcess]: Starting monitored process 15 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:24:41,163 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-02-20 14:24:42,597 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 14:24:42,597 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:24:42,601 INFO L263 TraceCheckSpWp]: Trace formula consists of 270 conjuncts, 123 conjunts are in the unsatisfiable core [2022-02-20 14:24:42,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:42,744 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:42,843 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 61 treesize of output 56 [2022-02-20 14:24:42,848 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2022-02-20 14:24:42,855 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2022-02-20 14:24:42,969 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 80 treesize of output 73 [2022-02-20 14:24:42,983 INFO L356 Elim1Store]: treesize reduction 166, result has 9.3 percent of original size [2022-02-20 14:24:42,983 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 72 treesize of output 140 [2022-02-20 14:24:43,045 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:43,046 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:24:43,046 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:24:43,048 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 26 [2022-02-20 14:24:43,203 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 101 treesize of output 92 [2022-02-20 14:24:43,234 INFO L356 Elim1Store]: treesize reduction 378, result has 8.9 percent of original size [2022-02-20 14:24:43,236 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 91 treesize of output 162 [2022-02-20 14:24:43,252 WARN L234 Elim1Store]: Array PQE input equivalent to false