./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/array-patterns/array3_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/array3_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 8c9f77a5f5cfb41429e6b2e557580f5f8a855ca718c241fb5a07541ef3b21ab2 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 14:24:35,256 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 14:24:35,259 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 14:24:35,291 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 14:24:35,292 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 14:24:35,294 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 14:24:35,298 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 14:24:35,302 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 14:24:35,303 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 14:24:35,303 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 14:24:35,304 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 14:24:35,304 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 14:24:35,305 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 14:24:35,305 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 14:24:35,306 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 14:24:35,307 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 14:24:35,307 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 14:24:35,308 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 14:24:35,309 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 14:24:35,310 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 14:24:35,311 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 14:24:35,312 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 14:24:35,313 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 14:24:35,313 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 14:24:35,315 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 14:24:35,316 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 14:24:35,316 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 14:24:35,317 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 14:24:35,317 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 14:24:35,318 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 14:24:35,318 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 14:24:35,319 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 14:24:35,320 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 14:24:35,320 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 14:24:35,321 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 14:24:35,321 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 14:24:35,321 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 14:24:35,322 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 14:24:35,322 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 14:24:35,323 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 14:24:35,323 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 14:24:35,324 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:24:35,342 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 14:24:35,343 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 14:24:35,343 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 14:24:35,343 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 14:24:35,344 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 14:24:35,344 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 14:24:35,345 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 14:24:35,345 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 14:24:35,345 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 14:24:35,345 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 14:24:35,346 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 14:24:35,346 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 14:24:35,346 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 14:24:35,347 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 14:24:35,347 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 14:24:35,347 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 14:24:35,347 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 14:24:35,348 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 14:24:35,348 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 14:24:35,348 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 14:24:35,348 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 14:24:35,348 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 14:24:35,348 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 14:24:35,349 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 14:24:35,349 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:24:35,349 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 14:24:35,349 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 14:24:35,349 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 14:24:35,350 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 14:24:35,350 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 14:24:35,350 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 14:24:35,350 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 14:24:35,351 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 14:24:35,351 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 -> 8c9f77a5f5cfb41429e6b2e557580f5f8a855ca718c241fb5a07541ef3b21ab2 [2022-02-20 14:24:35,613 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 14:24:35,658 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 14:24:35,660 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 14:24:35,661 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 14:24:35,666 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 14:24:35,667 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-patterns/array3_pattern.c [2022-02-20 14:24:35,746 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4d7e3baa7/0cc1a6257fb34648849b15f0172bf4e2/FLAGed214bac0 [2022-02-20 14:24:36,077 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 14:24:36,078 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-patterns/array3_pattern.c [2022-02-20 14:24:36,083 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4d7e3baa7/0cc1a6257fb34648849b15f0172bf4e2/FLAGed214bac0 [2022-02-20 14:24:36,092 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4d7e3baa7/0cc1a6257fb34648849b15f0172bf4e2 [2022-02-20 14:24:36,094 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 14:24:36,095 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 14:24:36,104 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 14:24:36,104 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 14:24:36,107 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 14:24:36,111 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,112 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@12edc222 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36, skipping insertion in model container [2022-02-20 14:24:36,113 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,118 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 14:24:36,129 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 14:24:36,252 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/array3_pattern.c[1393,1406] [2022-02-20 14:24:36,268 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:24:36,274 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 14:24:36,283 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/array3_pattern.c[1393,1406] [2022-02-20 14:24:36,296 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:24:36,324 INFO L208 MainTranslator]: Completed translation [2022-02-20 14:24:36,325 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36 WrapperNode [2022-02-20 14:24:36,338 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 14:24:36,339 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 14:24:36,339 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 14:24:36,340 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 14:24:36,345 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:24:36" (1/1) ... [2022-02-20 14:24:36,349 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:24:36" (1/1) ... [2022-02-20 14:24:36,369 INFO L137 Inliner]: procedures = 17, calls = 26, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 88 [2022-02-20 14:24:36,370 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 14:24:36,370 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 14:24:36,370 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 14:24:36,378 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 14:24:36,384 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,384 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,395 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,396 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,406 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,416 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,420 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,421 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 14:24:36,427 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 14:24:36,427 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 14:24:36,427 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 14:24:36,429 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36" (1/1) ... [2022-02-20 14:24:36,434 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:24:36,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:36,451 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:24:36,468 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:24:36,484 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 14:24:36,485 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 14:24:36,485 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 14:24:36,485 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 14:24:36,485 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 14:24:36,485 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 14:24:36,485 INFO L130 BoogieDeclarations]: Found specification of procedure square [2022-02-20 14:24:36,486 INFO L138 BoogieDeclarations]: Found implementation of procedure square [2022-02-20 14:24:36,486 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 14:24:36,486 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 14:24:36,487 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 14:24:36,487 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 14:24:36,560 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 14:24:36,561 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 14:24:36,731 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 14:24:36,753 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 14:24:36,753 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 14:24:36,754 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:24:36 BoogieIcfgContainer [2022-02-20 14:24:36,755 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 14:24:36,756 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 14:24:36,756 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 14:24:36,758 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 14:24:36,758 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 02:24:36" (1/3) ... [2022-02-20 14:24:36,759 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@71737e22 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:24:36, skipping insertion in model container [2022-02-20 14:24:36,759 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:36" (2/3) ... [2022-02-20 14:24:36,759 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@71737e22 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:24:36, skipping insertion in model container [2022-02-20 14:24:36,759 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:24:36" (3/3) ... [2022-02-20 14:24:36,760 INFO L111 eAbstractionObserver]: Analyzing ICFG array3_pattern.c [2022-02-20 14:24:36,775 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 14:24:36,776 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 14:24:36,805 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 14:24:36,809 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:24:36,810 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 14:24:36,825 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 25 states have internal predecessors, (34), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:36,828 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 14:24:36,828 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:36,829 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:36,829 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:36,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:36,834 INFO L85 PathProgramCache]: Analyzing trace with hash -87958078, now seen corresponding path program 1 times [2022-02-20 14:24:36,843 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:36,843 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1259490072] [2022-02-20 14:24:36,843 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:36,844 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:36,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:36,967 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:24:36,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:37,001 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 14:24:37,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-02-20 14:24:37,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-02-20 14:24:37,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #79#return; {36#false} is VALID [2022-02-20 14:24:37,006 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#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(17, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {35#true} is VALID [2022-02-20 14:24:37,007 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~nondet6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~nondet9#1, main_#t~mem11#1, main_#t~ret12#1, main_#t~mem13#1, main_#t~ret14#1, main_#t~post10#1, main_~#array1~0#1.base, main_~#array1~0#1.offset, main_~#array2~0#1.base, main_~#array2~0#1.offset, main_~count~0#1, main_~num~0#1, main_~sum1~0#1, main_~sum2~0#1, main_~temp~0#1, main_~index~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; {35#true} is VALID [2022-02-20 14:24:37,007 INFO L272 TraceCheckUtils]: 2: Hoare triple {35#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {35#true} is VALID [2022-02-20 14:24:37,007 INFO L290 TraceCheckUtils]: 3: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 14:24:37,008 INFO L290 TraceCheckUtils]: 4: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-02-20 14:24:37,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {36#false} assume true; {36#false} is VALID [2022-02-20 14:24:37,009 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {36#false} {35#true} #79#return; {36#false} is VALID [2022-02-20 14:24:37,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {36#false} call main_~#array1~0#1.base, main_~#array1~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));call main_~#array2~0#1.base, main_~#array2~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~count~0#1 := 0;main_~num~0#1 := -1;main_~sum1~0#1 := 0;main_~sum2~0#1 := 0;havoc main_~temp~0#1;havoc main_~index~0#1;main_~count~0#1 := 0; {36#false} is VALID [2022-02-20 14:24:37,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-02-20 14:24:37,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-02-20 14:24:37,011 INFO L290 TraceCheckUtils]: 10: Hoare triple {36#false} main_~count~0#1 := 0; {36#false} is VALID [2022-02-20 14:24:37,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-02-20 14:24:37,012 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum1~0#1 == main_~sum2~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {36#false} is VALID [2022-02-20 14:24:37,012 INFO L290 TraceCheckUtils]: 13: Hoare triple {36#false} assume 0 == __VERIFIER_assert_~cond#1; {36#false} is VALID [2022-02-20 14:24:37,012 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-02-20 14:24:37,012 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:24:37,013 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:37,013 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1259490072] [2022-02-20 14:24:37,014 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1259490072] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:24:37,014 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:24:37,014 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 14:24:37,016 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1258026296] [2022-02-20 14:24:37,016 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:24:37,021 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:24:37,022 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:37,025 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:24:37,055 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:24:37,056 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 14:24:37,056 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:37,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 14:24:37,080 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 14:24:37,082 INFO L87 Difference]: Start difference. First operand has 32 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 25 states have internal predecessors, (34), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 2 states, 2 states have (on average 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:24:37,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:37,155 INFO L93 Difference]: Finished difference Result 61 states and 82 transitions. [2022-02-20 14:24:37,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 14:24:37,155 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:24:37,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:37,157 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:24:37,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 82 transitions. [2022-02-20 14:24:37,173 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:24:37,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 82 transitions. [2022-02-20 14:24:37,178 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 82 transitions. [2022-02-20 14:24:37,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:37,278 INFO L225 Difference]: With dead ends: 61 [2022-02-20 14:24:37,278 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 14:24:37,281 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:24:37,284 INFO L933 BasicCegarLoop]: 36 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, 36 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:24:37,286 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:24:37,298 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 14:24:37,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2022-02-20 14:24:37,311 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:37,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:37,313 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:37,314 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:37,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:37,319 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2022-02-20 14:24:37,319 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2022-02-20 14:24:37,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:37,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:37,320 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-02-20 14:24:37,322 INFO L87 Difference]: Start difference. First operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-02-20 14:24:37,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:37,326 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2022-02-20 14:24:37,326 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2022-02-20 14:24:37,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:37,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:37,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:37,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:37,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:37,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 32 transitions. [2022-02-20 14:24:37,334 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 32 transitions. Word has length 15 [2022-02-20 14:24:37,334 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:37,335 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 32 transitions. [2022-02-20 14:24:37,335 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:24:37,336 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2022-02-20 14:24:37,340 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 14:24:37,340 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:37,340 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:37,340 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 14:24:37,341 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:37,344 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:37,344 INFO L85 PathProgramCache]: Analyzing trace with hash 100431803, now seen corresponding path program 1 times [2022-02-20 14:24:37,345 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:37,345 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [318527157] [2022-02-20 14:24:37,345 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:37,346 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:37,408 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:37,412 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1845727395] [2022-02-20 14:24:37,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:37,413 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:37,413 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:37,415 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:24:37,416 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:24:37,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:37,481 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 14:24:37,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:37,520 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:37,676 INFO L290 TraceCheckUtils]: 0: Hoare triple {213#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(17, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {213#true} is VALID [2022-02-20 14:24:37,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {213#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~nondet6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~nondet9#1, main_#t~mem11#1, main_#t~ret12#1, main_#t~mem13#1, main_#t~ret14#1, main_#t~post10#1, main_~#array1~0#1.base, main_~#array1~0#1.offset, main_~#array2~0#1.base, main_~#array2~0#1.offset, main_~count~0#1, main_~num~0#1, main_~sum1~0#1, main_~sum2~0#1, main_~temp~0#1, main_~index~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; {213#true} is VALID [2022-02-20 14:24:37,676 INFO L272 TraceCheckUtils]: 2: Hoare triple {213#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {213#true} is VALID [2022-02-20 14:24:37,677 INFO L290 TraceCheckUtils]: 3: Hoare triple {213#true} ~cond := #in~cond; {213#true} is VALID [2022-02-20 14:24:37,677 INFO L290 TraceCheckUtils]: 4: Hoare triple {213#true} assume !(0 == ~cond); {213#true} is VALID [2022-02-20 14:24:37,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {213#true} assume true; {213#true} is VALID [2022-02-20 14:24:37,677 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {213#true} {213#true} #79#return; {213#true} is VALID [2022-02-20 14:24:37,678 INFO L290 TraceCheckUtils]: 7: Hoare triple {213#true} call main_~#array1~0#1.base, main_~#array1~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));call main_~#array2~0#1.base, main_~#array2~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~count~0#1 := 0;main_~num~0#1 := -1;main_~sum1~0#1 := 0;main_~sum2~0#1 := 0;havoc main_~temp~0#1;havoc main_~index~0#1;main_~count~0#1 := 0; {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:37,679 INFO L290 TraceCheckUtils]: 8: Hoare triple {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} assume !(main_~count~0#1 < ~ARR_SIZE~0); {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:37,679 INFO L290 TraceCheckUtils]: 9: Hoare triple {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} assume !false;assume -32768 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 32767;main_~index~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:37,680 INFO L272 TraceCheckUtils]: 10: Hoare triple {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} call assume_abort_if_not((if main_~index~0#1 >= 0 && main_~index~0#1 < ~ARR_SIZE~0 then 1 else 0)); {213#true} is VALID [2022-02-20 14:24:37,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {213#true} ~cond := #in~cond; {213#true} is VALID [2022-02-20 14:24:37,680 INFO L290 TraceCheckUtils]: 12: Hoare triple {213#true} assume !(0 == ~cond); {213#true} is VALID [2022-02-20 14:24:37,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {213#true} assume true; {213#true} is VALID [2022-02-20 14:24:37,681 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {213#true} {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} #81#return; {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:37,682 INFO L290 TraceCheckUtils]: 15: Hoare triple {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} call main_#t~mem7#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);call write~int(main_#t~mem7#1 + main_~num~0#1 * (main_~num~0#1 * main_~index~0#1), main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);call write~int(main_#t~mem8#1 + main_~num~0#1 * main_~index~0#1, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);havoc main_#t~mem8#1;assume -2147483648 <= main_#t~nondet9#1 && main_#t~nondet9#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:37,682 INFO L290 TraceCheckUtils]: 16: Hoare triple {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} assume 0 == main_~temp~0#1; {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:37,683 INFO L290 TraceCheckUtils]: 17: Hoare triple {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} main_~count~0#1 := 0; {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:37,683 INFO L290 TraceCheckUtils]: 18: Hoare triple {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} assume !(main_~count~0#1 < ~ARR_SIZE~0); {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:37,684 INFO L290 TraceCheckUtils]: 19: Hoare triple {239#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum1~0#1 == main_~sum2~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {276#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:24:37,684 INFO L290 TraceCheckUtils]: 20: Hoare triple {276#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {214#false} is VALID [2022-02-20 14:24:37,684 INFO L290 TraceCheckUtils]: 21: Hoare triple {214#false} assume !false; {214#false} is VALID [2022-02-20 14:24:37,685 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 14:24:37,685 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:24:37,685 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:37,685 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [318527157] [2022-02-20 14:24:37,685 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:37,686 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1845727395] [2022-02-20 14:24:37,686 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1845727395] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:24:37,686 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:24:37,686 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 14:24:37,687 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1365235200] [2022-02-20 14:24:37,687 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:24:37,687 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-02-20 14:24:37,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:37,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:37,703 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:37,704 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 14:24:37,704 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:37,704 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 14:24:37,704 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 14:24:37,705 INFO L87 Difference]: Start difference. First operand 28 states and 32 transitions. Second operand has 4 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:37,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:37,770 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2022-02-20 14:24:37,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 14:24:37,771 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2022-02-20 14:24:37,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:37,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:37,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 40 transitions. [2022-02-20 14:24:37,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:37,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 40 transitions. [2022-02-20 14:24:37,774 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 40 transitions. [2022-02-20 14:24:37,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:37,804 INFO L225 Difference]: With dead ends: 35 [2022-02-20 14:24:37,805 INFO L226 Difference]: Without dead ends: 31 [2022-02-20 14:24:37,805 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 19 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:24:37,806 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 5 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:37,806 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 79 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:24:37,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-02-20 14:24:37,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 29. [2022-02-20 14:24:37,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:37,809 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 29 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 22 states have internal predecessors, (25), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:37,810 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 29 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 22 states have internal predecessors, (25), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:37,810 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 29 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 22 states have internal predecessors, (25), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:37,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:37,812 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2022-02-20 14:24:37,812 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2022-02-20 14:24:37,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:37,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:37,812 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 22 states have internal predecessors, (25), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 31 states. [2022-02-20 14:24:37,813 INFO L87 Difference]: Start difference. First operand has 29 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 22 states have internal predecessors, (25), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 31 states. [2022-02-20 14:24:37,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:37,814 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2022-02-20 14:24:37,814 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2022-02-20 14:24:37,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:37,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:37,815 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:37,815 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:37,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 22 states have internal predecessors, (25), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:37,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2022-02-20 14:24:37,817 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 22 [2022-02-20 14:24:37,817 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:37,817 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2022-02-20 14:24:37,817 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:37,817 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-02-20 14:24:37,818 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 14:24:37,818 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:37,818 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 14:24:37,843 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:24:38,035 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:24:38,036 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:38,037 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:38,037 INFO L85 PathProgramCache]: Analyzing trace with hash -562345857, now seen corresponding path program 1 times [2022-02-20 14:24:38,038 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:38,038 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [584445588] [2022-02-20 14:24:38,038 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:38,038 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:38,072 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:38,073 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [16607030] [2022-02-20 14:24:38,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:38,073 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:38,073 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:38,085 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:24:38,091 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:24:38,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:38,151 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 14:24:38,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:38,169 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:38,326 INFO L290 TraceCheckUtils]: 0: Hoare triple {429#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(17, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {429#true} is VALID [2022-02-20 14:24:38,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {429#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~nondet6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~nondet9#1, main_#t~mem11#1, main_#t~ret12#1, main_#t~mem13#1, main_#t~ret14#1, main_#t~post10#1, main_~#array1~0#1.base, main_~#array1~0#1.offset, main_~#array2~0#1.base, main_~#array2~0#1.offset, main_~count~0#1, main_~num~0#1, main_~sum1~0#1, main_~sum2~0#1, main_~temp~0#1, main_~index~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; {429#true} is VALID [2022-02-20 14:24:38,327 INFO L272 TraceCheckUtils]: 2: Hoare triple {429#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {429#true} is VALID [2022-02-20 14:24:38,327 INFO L290 TraceCheckUtils]: 3: Hoare triple {429#true} ~cond := #in~cond; {429#true} is VALID [2022-02-20 14:24:38,327 INFO L290 TraceCheckUtils]: 4: Hoare triple {429#true} assume !(0 == ~cond); {429#true} is VALID [2022-02-20 14:24:38,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {429#true} assume true; {429#true} is VALID [2022-02-20 14:24:38,328 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {429#true} {429#true} #79#return; {429#true} is VALID [2022-02-20 14:24:38,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {429#true} call main_~#array1~0#1.base, main_~#array1~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));call main_~#array2~0#1.base, main_~#array2~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~count~0#1 := 0;main_~num~0#1 := -1;main_~sum1~0#1 := 0;main_~sum2~0#1 := 0;havoc main_~temp~0#1;havoc main_~index~0#1;main_~count~0#1 := 0; {455#(<= |ULTIMATE.start_main_~count~0#1| 0)} is VALID [2022-02-20 14:24:38,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {455#(<= |ULTIMATE.start_main_~count~0#1| 0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {459#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:38,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {459#(<= ~ARR_SIZE~0 0)} assume !false;assume -32768 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 32767;main_~index~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {459#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:38,332 INFO L272 TraceCheckUtils]: 10: Hoare triple {459#(<= ~ARR_SIZE~0 0)} call assume_abort_if_not((if main_~index~0#1 >= 0 && main_~index~0#1 < ~ARR_SIZE~0 then 1 else 0)); {459#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:38,333 INFO L290 TraceCheckUtils]: 11: Hoare triple {459#(<= ~ARR_SIZE~0 0)} ~cond := #in~cond; {459#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:38,334 INFO L290 TraceCheckUtils]: 12: Hoare triple {459#(<= ~ARR_SIZE~0 0)} assume !(0 == ~cond); {459#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:38,335 INFO L290 TraceCheckUtils]: 13: Hoare triple {459#(<= ~ARR_SIZE~0 0)} assume true; {459#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:38,335 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {459#(<= ~ARR_SIZE~0 0)} {459#(<= ~ARR_SIZE~0 0)} #81#return; {459#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:38,336 INFO L290 TraceCheckUtils]: 15: Hoare triple {459#(<= ~ARR_SIZE~0 0)} call main_#t~mem7#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);call write~int(main_#t~mem7#1 + main_~num~0#1 * (main_~num~0#1 * main_~index~0#1), main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);call write~int(main_#t~mem8#1 + main_~num~0#1 * main_~index~0#1, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);havoc main_#t~mem8#1;assume -2147483648 <= main_#t~nondet9#1 && main_#t~nondet9#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {459#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:38,336 INFO L290 TraceCheckUtils]: 16: Hoare triple {459#(<= ~ARR_SIZE~0 0)} assume 0 == main_~temp~0#1; {459#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:38,336 INFO L290 TraceCheckUtils]: 17: Hoare triple {459#(<= ~ARR_SIZE~0 0)} main_~count~0#1 := 0; {487#(and (<= 0 |ULTIMATE.start_main_~count~0#1|) (<= ~ARR_SIZE~0 0))} is VALID [2022-02-20 14:24:38,337 INFO L290 TraceCheckUtils]: 18: Hoare triple {487#(and (<= 0 |ULTIMATE.start_main_~count~0#1|) (<= ~ARR_SIZE~0 0))} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call main_#t~mem11#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4); {430#false} is VALID [2022-02-20 14:24:38,337 INFO L272 TraceCheckUtils]: 19: Hoare triple {430#false} call main_#t~ret12#1 := square(main_#t~mem11#1); {430#false} is VALID [2022-02-20 14:24:38,337 INFO L290 TraceCheckUtils]: 20: Hoare triple {430#false} ~x := #in~x;#res := ~x * ~x; {430#false} is VALID [2022-02-20 14:24:38,338 INFO L290 TraceCheckUtils]: 21: Hoare triple {430#false} assume true; {430#false} is VALID [2022-02-20 14:24:38,338 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {430#false} {430#false} #83#return; {430#false} is VALID [2022-02-20 14:24:38,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {430#false} assume -9223372036854775808 <= main_#t~ret12#1 && main_#t~ret12#1 <= 9223372036854775807;main_~sum1~0#1 := main_~sum1~0#1 + main_#t~ret12#1;havoc main_#t~mem11#1;havoc main_#t~ret12#1;call main_#t~mem13#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {430#false} is VALID [2022-02-20 14:24:38,338 INFO L272 TraceCheckUtils]: 24: Hoare triple {430#false} call main_#t~ret14#1 := square(main_#t~mem13#1); {430#false} is VALID [2022-02-20 14:24:38,338 INFO L290 TraceCheckUtils]: 25: Hoare triple {430#false} ~x := #in~x;#res := ~x * ~x; {430#false} is VALID [2022-02-20 14:24:38,338 INFO L290 TraceCheckUtils]: 26: Hoare triple {430#false} assume true; {430#false} is VALID [2022-02-20 14:24:38,339 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {430#false} {430#false} #85#return; {430#false} is VALID [2022-02-20 14:24:38,339 INFO L290 TraceCheckUtils]: 28: Hoare triple {430#false} assume -9223372036854775808 <= main_#t~ret14#1 && main_#t~ret14#1 <= 9223372036854775807;main_~sum2~0#1 := main_~sum2~0#1 + main_#t~ret14#1;havoc main_#t~mem13#1;havoc main_#t~ret14#1; {430#false} is VALID [2022-02-20 14:24:38,339 INFO L290 TraceCheckUtils]: 29: Hoare triple {430#false} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {430#false} is VALID [2022-02-20 14:24:38,339 INFO L290 TraceCheckUtils]: 30: Hoare triple {430#false} assume !(main_~count~0#1 < ~ARR_SIZE~0); {430#false} is VALID [2022-02-20 14:24:38,339 INFO L290 TraceCheckUtils]: 31: Hoare triple {430#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum1~0#1 == main_~sum2~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {430#false} is VALID [2022-02-20 14:24:38,339 INFO L290 TraceCheckUtils]: 32: Hoare triple {430#false} assume 0 == __VERIFIER_assert_~cond#1; {430#false} is VALID [2022-02-20 14:24:38,340 INFO L290 TraceCheckUtils]: 33: Hoare triple {430#false} assume !false; {430#false} is VALID [2022-02-20 14:24:38,340 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 14:24:38,340 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:24:38,340 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:38,340 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [584445588] [2022-02-20 14:24:38,341 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:38,341 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [16607030] [2022-02-20 14:24:38,341 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [16607030] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:24:38,341 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:24:38,341 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 14:24:38,341 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1737888437] [2022-02-20 14:24:38,341 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:24:38,342 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 3 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 34 [2022-02-20 14:24:38,342 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:38,342 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 3 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 14:24:38,371 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:24:38,371 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 14:24:38,371 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:38,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 14:24:38,372 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 14:24:38,372 INFO L87 Difference]: Start difference. First operand 29 states and 33 transitions. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 3 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 14:24:38,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:38,548 INFO L93 Difference]: Finished difference Result 59 states and 68 transitions. [2022-02-20 14:24:38,548 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 14:24:38,548 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 3 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 34 [2022-02-20 14:24:38,549 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:38,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 3 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 14:24:38,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 68 transitions. [2022-02-20 14:24:38,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 3 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 14:24:38,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 68 transitions. [2022-02-20 14:24:38,553 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 68 transitions. [2022-02-20 14:24:38,610 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:38,611 INFO L225 Difference]: With dead ends: 59 [2022-02-20 14:24:38,611 INFO L226 Difference]: Without dead ends: 36 [2022-02-20 14:24:38,612 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-20 14:24:38,613 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 11 mSDsluCounter, 70 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:38,613 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 100 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:24:38,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-02-20 14:24:38,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 30. [2022-02-20 14:24:38,617 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:38,617 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 30 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:38,618 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 30 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:38,618 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 30 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:38,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:38,620 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-02-20 14:24:38,620 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-02-20 14:24:38,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:38,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:38,621 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-02-20 14:24:38,621 INFO L87 Difference]: Start difference. First operand has 30 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-02-20 14:24:38,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:38,623 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-02-20 14:24:38,623 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-02-20 14:24:38,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:38,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:38,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:38,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:38,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 23 states have internal predecessors, (26), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:38,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 34 transitions. [2022-02-20 14:24:38,625 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 34 transitions. Word has length 34 [2022-02-20 14:24:38,625 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:38,625 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 34 transitions. [2022-02-20 14:24:38,626 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 3 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 14:24:38,626 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2022-02-20 14:24:38,626 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 14:24:38,626 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:38,627 INFO L514 BasicCegarLoop]: trace histogram [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 (3)] Forceful destruction successful, exit code 0 [2022-02-20 14:24:38,843 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:24:38,844 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:38,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:38,844 INFO L85 PathProgramCache]: Analyzing trace with hash 1168592577, now seen corresponding path program 1 times [2022-02-20 14:24:38,844 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:38,845 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [567311829] [2022-02-20 14:24:38,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:38,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:38,872 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:38,872 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2091439148] [2022-02-20 14:24:38,872 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:38,872 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:38,873 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:38,874 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:24:38,875 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:24:38,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:38,972 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 74 conjunts are in the unsatisfiable core [2022-02-20 14:24:38,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:38,999 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:39,058 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-02-20 14:24:39,111 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:39,120 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 31 [2022-02-20 14:24:39,128 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 28 treesize of output 28 [2022-02-20 14:24:39,134 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 12 treesize of output 11 [2022-02-20 14:24:39,139 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 12 treesize of output 11 [2022-02-20 14:24:40,323 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:40,344 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 175 treesize of output 166 [2022-02-20 14:24:40,392 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 166 treesize of output 158 [2022-02-20 14:24:40,444 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:40,445 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:40,446 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:24:40,447 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 134 treesize of output 201 [2022-02-20 14:24:40,527 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:24:40,528 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 17 [2022-02-20 14:24:40,661 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:40,664 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 106 treesize of output 20 [2022-02-20 14:24:43,945 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:24:43,947 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:24:43,950 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 17 [2022-02-20 14:24:44,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {729#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(17, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {729#true} is VALID [2022-02-20 14:24:44,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {729#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~nondet6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~nondet9#1, main_#t~mem11#1, main_#t~ret12#1, main_#t~mem13#1, main_#t~ret14#1, main_#t~post10#1, main_~#array1~0#1.base, main_~#array1~0#1.offset, main_~#array2~0#1.base, main_~#array2~0#1.offset, main_~count~0#1, main_~num~0#1, main_~sum1~0#1, main_~sum2~0#1, main_~temp~0#1, main_~index~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; {729#true} is VALID [2022-02-20 14:24:44,490 INFO L272 TraceCheckUtils]: 2: Hoare triple {729#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {729#true} is VALID [2022-02-20 14:24:44,490 INFO L290 TraceCheckUtils]: 3: Hoare triple {729#true} ~cond := #in~cond; {729#true} is VALID [2022-02-20 14:24:44,490 INFO L290 TraceCheckUtils]: 4: Hoare triple {729#true} assume !(0 == ~cond); {729#true} is VALID [2022-02-20 14:24:44,490 INFO L290 TraceCheckUtils]: 5: Hoare triple {729#true} assume true; {729#true} is VALID [2022-02-20 14:24:44,490 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {729#true} {729#true} #79#return; {729#true} is VALID [2022-02-20 14:24:44,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {729#true} call main_~#array1~0#1.base, main_~#array1~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));call main_~#array2~0#1.base, main_~#array2~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~count~0#1 := 0;main_~num~0#1 := -1;main_~sum1~0#1 := 0;main_~sum2~0#1 := 0;havoc main_~temp~0#1;havoc main_~index~0#1;main_~count~0#1 := 0; {755#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:24:44,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {755#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4);call write~int(0, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {759#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (< |ULTIMATE.start_main_~count~0#1| ~ARR_SIZE~0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:24:44,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {759#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (< |ULTIMATE.start_main_~count~0#1| ~ARR_SIZE~0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} main_#t~post5#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {763#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~count~0#1|) 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (- 4) (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (< |ULTIMATE.start_main_~count~0#1| (+ ~ARR_SIZE~0 1)) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (- 4) (* |ULTIMATE.start_main_~count~0#1| 4))) 0))} is VALID [2022-02-20 14:24:44,494 INFO L290 TraceCheckUtils]: 10: Hoare triple {763#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~count~0#1|) 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (- 4) (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (< |ULTIMATE.start_main_~count~0#1| (+ ~ARR_SIZE~0 1)) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (- 4) (* |ULTIMATE.start_main_~count~0#1| 4))) 0))} assume !(main_~count~0#1 < ~ARR_SIZE~0); {767#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:24:44,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {767#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume !false;assume -32768 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 32767;main_~index~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {767#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:24:44,496 INFO L272 TraceCheckUtils]: 12: Hoare triple {767#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} call assume_abort_if_not((if main_~index~0#1 >= 0 && main_~index~0#1 < ~ARR_SIZE~0 then 1 else 0)); {774#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 1) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1|) 0) 0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|)))))} is VALID [2022-02-20 14:24:44,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 1) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1|) 0) 0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|)))))} ~cond := #in~cond; {778#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 1) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1|) 0) 0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|)))) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|))} is VALID [2022-02-20 14:24:44,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {778#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 1) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1|) 0) 0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|)))) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|))} assume !(0 == ~cond); {782#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1|) 0) 0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|)))))} is VALID [2022-02-20 14:24:44,498 INFO L290 TraceCheckUtils]: 15: Hoare triple {782#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1|) 0) 0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|)))))} assume true; {782#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1|) 0) 0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|)))))} is VALID [2022-02-20 14:24:44,500 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {782#(and (< 0 ~ARR_SIZE~0) (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1|) 0) 0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_1| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_1|)))))} {767#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} #81#return; {789#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:24:44,506 INFO L290 TraceCheckUtils]: 17: Hoare triple {789#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} call main_#t~mem7#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);call write~int(main_#t~mem7#1 + main_~num~0#1 * (main_~num~0#1 * main_~index~0#1), main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);call write~int(main_#t~mem8#1 + main_~num~0#1 * main_~index~0#1, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);havoc main_#t~mem8#1;assume -2147483648 <= main_#t~nondet9#1 && main_#t~nondet9#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {793#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:24:44,509 INFO L290 TraceCheckUtils]: 18: Hoare triple {793#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume 0 == main_~temp~0#1; {793#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:24:44,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {793#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} main_~count~0#1 := 0; {800#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:24:44,514 INFO L290 TraceCheckUtils]: 20: Hoare triple {800#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call main_#t~mem11#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4); {804#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)) |ULTIMATE.start_main_#t~mem11#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))))} is VALID [2022-02-20 14:24:44,517 INFO L272 TraceCheckUtils]: 21: Hoare triple {804#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)) |ULTIMATE.start_main_#t~mem11#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))))} call main_#t~ret12#1 := square(main_#t~mem11#1); {808#(exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |ULTIMATE.start_main_~#array1~0#1.base|))))} is VALID [2022-02-20 14:24:44,524 INFO L290 TraceCheckUtils]: 22: Hoare triple {808#(exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |ULTIMATE.start_main_~#array1~0#1.base|))))} ~x := #in~x;#res := ~x * ~x; {812#(and (= |square_#res| (* |square_#in~x| |square_#in~x|)) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |ULTIMATE.start_main_~#array1~0#1.base|)))))} is VALID [2022-02-20 14:24:44,529 INFO L290 TraceCheckUtils]: 23: Hoare triple {812#(and (= |square_#res| (* |square_#in~x| |square_#in~x|)) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |ULTIMATE.start_main_~#array1~0#1.base|)))))} assume true; {812#(and (= |square_#res| (* |square_#in~x| |square_#in~x|)) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |ULTIMATE.start_main_~#array1~0#1.base|)))))} is VALID [2022-02-20 14:24:44,550 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {812#(and (= |square_#res| (* |square_#in~x| |square_#in~x|)) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |ULTIMATE.start_main_~#array1~0#1.base|)))))} {804#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)) |ULTIMATE.start_main_#t~mem11#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))))} #83#return; {819#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= |ULTIMATE.start_main_#t~ret12#1| (* (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) |ULTIMATE.start_main_~index~0#1|) 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))))} is VALID [2022-02-20 14:24:44,554 INFO L290 TraceCheckUtils]: 25: Hoare triple {819#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= |ULTIMATE.start_main_#t~ret12#1| (* (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) |ULTIMATE.start_main_~index~0#1|) 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))))} assume -9223372036854775808 <= main_#t~ret12#1 && main_#t~ret12#1 <= 9223372036854775807;main_~sum1~0#1 := main_~sum1~0#1 + main_#t~ret12#1;havoc main_#t~mem11#1;havoc main_#t~ret12#1;call main_#t~mem13#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {823#(and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:44,554 INFO L272 TraceCheckUtils]: 26: Hoare triple {823#(and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} call main_#t~ret14#1 := square(main_#t~mem13#1); {729#true} is VALID [2022-02-20 14:24:44,554 INFO L290 TraceCheckUtils]: 27: Hoare triple {729#true} ~x := #in~x;#res := ~x * ~x; {830#(= |square_#res| (* |square_#in~x| |square_#in~x|))} is VALID [2022-02-20 14:24:44,557 INFO L290 TraceCheckUtils]: 28: Hoare triple {830#(= |square_#res| (* |square_#in~x| |square_#in~x|))} assume true; {830#(= |square_#res| (* |square_#in~x| |square_#in~x|))} is VALID [2022-02-20 14:24:44,559 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {830#(= |square_#res| (* |square_#in~x| |square_#in~x|))} {823#(and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} #85#return; {837#(and (exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (= (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_#t~ret14#1|) (<= |ULTIMATE.start_main_#t~mem13#1| 0))) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:24:44,561 INFO L290 TraceCheckUtils]: 30: Hoare triple {837#(and (exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (= (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_#t~ret14#1|) (<= |ULTIMATE.start_main_#t~mem13#1| 0))) (= |ULTIMATE.start_main_~sum2~0#1| 0))} assume -9223372036854775808 <= main_#t~ret14#1 && main_#t~ret14#1 <= 9223372036854775807;main_~sum2~0#1 := main_~sum2~0#1 + main_#t~ret14#1;havoc main_#t~mem13#1;havoc main_#t~ret14#1; {841#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (= (+ |ULTIMATE.start_main_~sum2~0#1| (* (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) (- 1))) 0) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0)))} is VALID [2022-02-20 14:24:44,562 INFO L290 TraceCheckUtils]: 31: Hoare triple {841#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (= (+ |ULTIMATE.start_main_~sum2~0#1| (* (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) (- 1))) 0) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0)))} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {841#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (= (+ |ULTIMATE.start_main_~sum2~0#1| (* (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) (- 1))) 0) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0)))} is VALID [2022-02-20 14:24:44,564 INFO L290 TraceCheckUtils]: 32: Hoare triple {841#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (= (+ |ULTIMATE.start_main_~sum2~0#1| (* (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) (- 1))) 0) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0)))} assume !(main_~count~0#1 < ~ARR_SIZE~0); {841#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (= (+ |ULTIMATE.start_main_~sum2~0#1| (* (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) (- 1))) 0) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0)))} is VALID [2022-02-20 14:24:44,565 INFO L290 TraceCheckUtils]: 33: Hoare triple {841#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (= |ULTIMATE.start_main_~sum1~0#1| (* (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|))) (= (+ |ULTIMATE.start_main_~sum2~0#1| (* (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) (- 1))) 0) (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0)))} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum1~0#1 == main_~sum2~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {851#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:24:44,565 INFO L290 TraceCheckUtils]: 34: Hoare triple {851#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {730#false} is VALID [2022-02-20 14:24:44,565 INFO L290 TraceCheckUtils]: 35: Hoare triple {730#false} assume !false; {730#false} is VALID [2022-02-20 14:24:44,566 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:24:44,566 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:24:59,833 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:59,833 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [567311829] [2022-02-20 14:24:59,833 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:59,833 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2091439148] [2022-02-20 14:24:59,833 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2091439148] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:24:59,833 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 14:24:59,833 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21] total 21 [2022-02-20 14:24:59,834 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [170580183] [2022-02-20 14:24:59,834 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 14:24:59,834 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 16 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 36 [2022-02-20 14:24:59,834 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:59,835 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 16 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:24:59,970 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:59,970 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 14:24:59,970 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:59,971 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 14:24:59,971 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=745, Unknown=5, NotChecked=0, Total=870 [2022-02-20 14:24:59,971 INFO L87 Difference]: Start difference. First operand 30 states and 34 transitions. Second operand has 21 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 16 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:25:02,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:02,680 INFO L93 Difference]: Finished difference Result 57 states and 65 transitions. [2022-02-20 14:25:02,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-02-20 14:25:02,681 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 16 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 36 [2022-02-20 14:25:02,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:25:02,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 16 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:25:02,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 64 transitions. [2022-02-20 14:25:02,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 16 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:25:02,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 64 transitions. [2022-02-20 14:25:02,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 64 transitions. [2022-02-20 14:25:02,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:25:02,817 INFO L225 Difference]: With dead ends: 57 [2022-02-20 14:25:02,818 INFO L226 Difference]: Without dead ends: 53 [2022-02-20 14:25:02,818 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 25 SyntacticMatches, 3 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 314 ImplicationChecksByTransitivity, 15.6s TimeCoverageRelationStatistics Valid=137, Invalid=850, Unknown=5, NotChecked=0, Total=992 [2022-02-20 14:25:02,819 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 28 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 32 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 177 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 32 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 70 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 14:25:02,819 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 177 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 32 Invalid, 0 Unknown, 70 Unchecked, 0.2s Time] [2022-02-20 14:25:02,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-02-20 14:25:02,842 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 50. [2022-02-20 14:25:02,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:25:02,843 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 50 states, 38 states have (on average 1.131578947368421) internal successors, (43), 38 states have internal predecessors, (43), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 14:25:02,843 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 50 states, 38 states have (on average 1.131578947368421) internal successors, (43), 38 states have internal predecessors, (43), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 14:25:02,844 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 50 states, 38 states have (on average 1.131578947368421) internal successors, (43), 38 states have internal predecessors, (43), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 14:25:02,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:02,849 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-02-20 14:25:02,849 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-02-20 14:25:02,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:25:02,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:25:02,852 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 38 states have (on average 1.131578947368421) internal successors, (43), 38 states have internal predecessors, (43), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-02-20 14:25:02,852 INFO L87 Difference]: Start difference. First operand has 50 states, 38 states have (on average 1.131578947368421) internal successors, (43), 38 states have internal predecessors, (43), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-02-20 14:25:02,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:02,856 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-02-20 14:25:02,858 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-02-20 14:25:02,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:25:02,859 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:25:02,859 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:25:02,859 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:25:02,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 38 states have (on average 1.131578947368421) internal successors, (43), 38 states have internal predecessors, (43), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 14:25:02,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 57 transitions. [2022-02-20 14:25:02,862 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 57 transitions. Word has length 36 [2022-02-20 14:25:02,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:25:02,862 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 57 transitions. [2022-02-20 14:25:02,863 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 16 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 14:25:02,863 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-02-20 14:25:02,863 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 14:25:02,865 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:25:02,865 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:25:02,883 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 14:25:03,066 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:25:03,068 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:25:03,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:25:03,069 INFO L85 PathProgramCache]: Analyzing trace with hash -1846883197, now seen corresponding path program 2 times [2022-02-20 14:25:03,069 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:25:03,069 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1871526205] [2022-02-20 14:25:03,069 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:25:03,070 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:25:03,129 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:25:03,130 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [900326012] [2022-02-20 14:25:03,130 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 14:25:03,130 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:25:03,130 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:25:03,131 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:25:03,132 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:25:03,204 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 14:25:03,204 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:25:03,205 INFO L263 TraceCheckSpWp]: Trace formula consists of 176 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 14:25:03,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:25:03,219 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:25:03,936 INFO L290 TraceCheckUtils]: 0: Hoare triple {1180#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(17, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {1180#true} is VALID [2022-02-20 14:25:03,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {1180#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~nondet6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~nondet9#1, main_#t~mem11#1, main_#t~ret12#1, main_#t~mem13#1, main_#t~ret14#1, main_#t~post10#1, main_~#array1~0#1.base, main_~#array1~0#1.offset, main_~#array2~0#1.base, main_~#array2~0#1.offset, main_~count~0#1, main_~num~0#1, main_~sum1~0#1, main_~sum2~0#1, main_~temp~0#1, main_~index~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; {1180#true} is VALID [2022-02-20 14:25:03,936 INFO L272 TraceCheckUtils]: 2: Hoare triple {1180#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {1180#true} is VALID [2022-02-20 14:25:03,936 INFO L290 TraceCheckUtils]: 3: Hoare triple {1180#true} ~cond := #in~cond; {1180#true} is VALID [2022-02-20 14:25:03,937 INFO L290 TraceCheckUtils]: 4: Hoare triple {1180#true} assume !(0 == ~cond); {1180#true} is VALID [2022-02-20 14:25:03,937 INFO L290 TraceCheckUtils]: 5: Hoare triple {1180#true} assume true; {1180#true} is VALID [2022-02-20 14:25:03,937 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1180#true} {1180#true} #79#return; {1180#true} is VALID [2022-02-20 14:25:03,938 INFO L290 TraceCheckUtils]: 7: Hoare triple {1180#true} call main_~#array1~0#1.base, main_~#array1~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));call main_~#array2~0#1.base, main_~#array2~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~count~0#1 := 0;main_~num~0#1 := -1;main_~sum1~0#1 := 0;main_~sum2~0#1 := 0;havoc main_~temp~0#1;havoc main_~index~0#1;main_~count~0#1 := 0; {1206#(<= 0 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:03,938 INFO L290 TraceCheckUtils]: 8: Hoare triple {1206#(<= 0 |ULTIMATE.start_main_~count~0#1|)} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4);call write~int(0, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {1206#(<= 0 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:03,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {1206#(<= 0 |ULTIMATE.start_main_~count~0#1|)} main_#t~post5#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1213#(<= 1 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:03,940 INFO L290 TraceCheckUtils]: 10: Hoare triple {1213#(<= 1 |ULTIMATE.start_main_~count~0#1|)} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4);call write~int(0, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,940 INFO L290 TraceCheckUtils]: 11: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} main_#t~post5#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,940 INFO L290 TraceCheckUtils]: 12: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume !false;assume -32768 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 32767;main_~index~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,941 INFO L272 TraceCheckUtils]: 14: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} call assume_abort_if_not((if main_~index~0#1 >= 0 && main_~index~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} ~cond := #in~cond; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume !(0 == ~cond); {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,942 INFO L290 TraceCheckUtils]: 17: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume true; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,943 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1217#(< 1 ~ARR_SIZE~0)} {1217#(< 1 ~ARR_SIZE~0)} #81#return; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} call main_#t~mem7#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);call write~int(main_#t~mem7#1 + main_~num~0#1 * (main_~num~0#1 * main_~index~0#1), main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);call write~int(main_#t~mem8#1 + main_~num~0#1 * main_~index~0#1, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);havoc main_#t~mem8#1;assume -2147483648 <= main_#t~nondet9#1 && main_#t~nondet9#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume 0 == main_~temp~0#1; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,944 INFO L290 TraceCheckUtils]: 21: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} main_~count~0#1 := 0; {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 14:25:03,944 INFO L290 TraceCheckUtils]: 22: Hoare triple {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call main_#t~mem11#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4); {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 14:25:03,945 INFO L272 TraceCheckUtils]: 23: Hoare triple {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} call main_#t~ret12#1 := square(main_#t~mem11#1); {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,945 INFO L290 TraceCheckUtils]: 24: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} ~x := #in~x;#res := ~x * ~x; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,946 INFO L290 TraceCheckUtils]: 25: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume true; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,946 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1217#(< 1 ~ARR_SIZE~0)} {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} #83#return; {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 14:25:03,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} assume -9223372036854775808 <= main_#t~ret12#1 && main_#t~ret12#1 <= 9223372036854775807;main_~sum1~0#1 := main_~sum1~0#1 + main_#t~ret12#1;havoc main_#t~mem11#1;havoc main_#t~ret12#1;call main_#t~mem13#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 14:25:03,948 INFO L272 TraceCheckUtils]: 28: Hoare triple {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} call main_#t~ret14#1 := square(main_#t~mem13#1); {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,948 INFO L290 TraceCheckUtils]: 29: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} ~x := #in~x;#res := ~x * ~x; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,948 INFO L290 TraceCheckUtils]: 30: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume true; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,949 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1217#(< 1 ~ARR_SIZE~0)} {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} #85#return; {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 14:25:03,949 INFO L290 TraceCheckUtils]: 32: Hoare triple {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} assume -9223372036854775808 <= main_#t~ret14#1 && main_#t~ret14#1 <= 9223372036854775807;main_~sum2~0#1 := main_~sum2~0#1 + main_#t~ret14#1;havoc main_#t~mem13#1;havoc main_#t~ret14#1; {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 14:25:03,950 INFO L290 TraceCheckUtils]: 33: Hoare triple {1251#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {1288#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 1))} is VALID [2022-02-20 14:25:03,951 INFO L290 TraceCheckUtils]: 34: Hoare triple {1288#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 1))} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1181#false} is VALID [2022-02-20 14:25:03,951 INFO L290 TraceCheckUtils]: 35: Hoare triple {1181#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum1~0#1 == main_~sum2~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1181#false} is VALID [2022-02-20 14:25:03,951 INFO L290 TraceCheckUtils]: 36: Hoare triple {1181#false} assume 0 == __VERIFIER_assert_~cond#1; {1181#false} is VALID [2022-02-20 14:25:03,951 INFO L290 TraceCheckUtils]: 37: Hoare triple {1181#false} assume !false; {1181#false} is VALID [2022-02-20 14:25:03,951 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 5 proven. 4 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 14:25:03,951 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:25:04,363 INFO L290 TraceCheckUtils]: 37: Hoare triple {1181#false} assume !false; {1181#false} is VALID [2022-02-20 14:25:04,364 INFO L290 TraceCheckUtils]: 36: Hoare triple {1181#false} assume 0 == __VERIFIER_assert_~cond#1; {1181#false} is VALID [2022-02-20 14:25:04,364 INFO L290 TraceCheckUtils]: 35: Hoare triple {1181#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum1~0#1 == main_~sum2~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1181#false} is VALID [2022-02-20 14:25:04,364 INFO L290 TraceCheckUtils]: 34: Hoare triple {1310#(< |ULTIMATE.start_main_~count~0#1| ~ARR_SIZE~0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1181#false} is VALID [2022-02-20 14:25:04,365 INFO L290 TraceCheckUtils]: 33: Hoare triple {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {1310#(< |ULTIMATE.start_main_~count~0#1| ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,365 INFO L290 TraceCheckUtils]: 32: Hoare triple {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} assume -9223372036854775808 <= main_#t~ret14#1 && main_#t~ret14#1 <= 9223372036854775807;main_~sum2~0#1 := main_~sum2~0#1 + main_#t~ret14#1;havoc main_#t~mem13#1;havoc main_#t~ret14#1; {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,366 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1180#true} {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} #85#return; {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,366 INFO L290 TraceCheckUtils]: 30: Hoare triple {1180#true} assume true; {1180#true} is VALID [2022-02-20 14:25:04,366 INFO L290 TraceCheckUtils]: 29: Hoare triple {1180#true} ~x := #in~x;#res := ~x * ~x; {1180#true} is VALID [2022-02-20 14:25:04,366 INFO L272 TraceCheckUtils]: 28: Hoare triple {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} call main_#t~ret14#1 := square(main_#t~mem13#1); {1180#true} is VALID [2022-02-20 14:25:04,367 INFO L290 TraceCheckUtils]: 27: Hoare triple {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} assume -9223372036854775808 <= main_#t~ret12#1 && main_#t~ret12#1 <= 9223372036854775807;main_~sum1~0#1 := main_~sum1~0#1 + main_#t~ret12#1;havoc main_#t~mem11#1;havoc main_#t~ret12#1;call main_#t~mem13#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,367 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1180#true} {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} #83#return; {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,367 INFO L290 TraceCheckUtils]: 25: Hoare triple {1180#true} assume true; {1180#true} is VALID [2022-02-20 14:25:04,368 INFO L290 TraceCheckUtils]: 24: Hoare triple {1180#true} ~x := #in~x;#res := ~x * ~x; {1180#true} is VALID [2022-02-20 14:25:04,368 INFO L272 TraceCheckUtils]: 23: Hoare triple {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} call main_#t~ret12#1 := square(main_#t~mem11#1); {1180#true} is VALID [2022-02-20 14:25:04,368 INFO L290 TraceCheckUtils]: 22: Hoare triple {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call main_#t~mem11#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4); {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,368 INFO L290 TraceCheckUtils]: 21: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} main_~count~0#1 := 0; {1314#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume 0 == main_~temp~0#1; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} call main_#t~mem7#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);call write~int(main_#t~mem7#1 + main_~num~0#1 * (main_~num~0#1 * main_~index~0#1), main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);call write~int(main_#t~mem8#1 + main_~num~0#1 * main_~index~0#1, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);havoc main_#t~mem8#1;assume -2147483648 <= main_#t~nondet9#1 && main_#t~nondet9#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,370 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1180#true} {1217#(< 1 ~ARR_SIZE~0)} #81#return; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,370 INFO L290 TraceCheckUtils]: 17: Hoare triple {1180#true} assume true; {1180#true} is VALID [2022-02-20 14:25:04,370 INFO L290 TraceCheckUtils]: 16: Hoare triple {1180#true} assume !(0 == ~cond); {1180#true} is VALID [2022-02-20 14:25:04,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {1180#true} ~cond := #in~cond; {1180#true} is VALID [2022-02-20 14:25:04,370 INFO L272 TraceCheckUtils]: 14: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} call assume_abort_if_not((if main_~index~0#1 >= 0 && main_~index~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1180#true} is VALID [2022-02-20 14:25:04,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume !false;assume -32768 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 32767;main_~index~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,371 INFO L290 TraceCheckUtils]: 12: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,371 INFO L290 TraceCheckUtils]: 11: Hoare triple {1217#(< 1 ~ARR_SIZE~0)} main_#t~post5#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,372 INFO L290 TraceCheckUtils]: 10: Hoare triple {1213#(<= 1 |ULTIMATE.start_main_~count~0#1|)} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4);call write~int(0, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {1217#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {1206#(<= 0 |ULTIMATE.start_main_~count~0#1|)} main_#t~post5#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1213#(<= 1 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:04,373 INFO L290 TraceCheckUtils]: 8: Hoare triple {1206#(<= 0 |ULTIMATE.start_main_~count~0#1|)} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4);call write~int(0, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {1206#(<= 0 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:04,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {1180#true} call main_~#array1~0#1.base, main_~#array1~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));call main_~#array2~0#1.base, main_~#array2~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~count~0#1 := 0;main_~num~0#1 := -1;main_~sum1~0#1 := 0;main_~sum2~0#1 := 0;havoc main_~temp~0#1;havoc main_~index~0#1;main_~count~0#1 := 0; {1206#(<= 0 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:04,373 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1180#true} {1180#true} #79#return; {1180#true} is VALID [2022-02-20 14:25:04,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {1180#true} assume true; {1180#true} is VALID [2022-02-20 14:25:04,374 INFO L290 TraceCheckUtils]: 4: Hoare triple {1180#true} assume !(0 == ~cond); {1180#true} is VALID [2022-02-20 14:25:04,374 INFO L290 TraceCheckUtils]: 3: Hoare triple {1180#true} ~cond := #in~cond; {1180#true} is VALID [2022-02-20 14:25:04,374 INFO L272 TraceCheckUtils]: 2: Hoare triple {1180#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {1180#true} is VALID [2022-02-20 14:25:04,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {1180#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~nondet6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~nondet9#1, main_#t~mem11#1, main_#t~ret12#1, main_#t~mem13#1, main_#t~ret14#1, main_#t~post10#1, main_~#array1~0#1.base, main_~#array1~0#1.offset, main_~#array2~0#1.base, main_~#array2~0#1.offset, main_~count~0#1, main_~num~0#1, main_~sum1~0#1, main_~sum2~0#1, main_~temp~0#1, main_~index~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; {1180#true} is VALID [2022-02-20 14:25:04,374 INFO L290 TraceCheckUtils]: 0: Hoare triple {1180#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(17, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {1180#true} is VALID [2022-02-20 14:25:04,374 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 14:25:04,374 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:25:04,374 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1871526205] [2022-02-20 14:25:04,374 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:25:04,374 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [900326012] [2022-02-20 14:25:04,375 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [900326012] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:25:04,375 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:25:04,375 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-02-20 14:25:04,375 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [90155490] [2022-02-20 14:25:04,375 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:25:04,375 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 38 [2022-02-20 14:25:04,376 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:25:04,376 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 14:25:04,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:25:04,414 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 14:25:04,414 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:25:04,414 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 14:25:04,414 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-02-20 14:25:04,415 INFO L87 Difference]: Start difference. First operand 50 states and 57 transitions. Second operand has 9 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 14:25:06,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:06,731 INFO L93 Difference]: Finished difference Result 89 states and 102 transitions. [2022-02-20 14:25:06,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 14:25:06,732 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 38 [2022-02-20 14:25:06,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:25:06,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 14:25:06,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 81 transitions. [2022-02-20 14:25:06,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 14:25:06,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 81 transitions. [2022-02-20 14:25:06,735 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 81 transitions. [2022-02-20 14:25:06,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:25:06,801 INFO L225 Difference]: With dead ends: 89 [2022-02-20 14:25:06,801 INFO L226 Difference]: Without dead ends: 85 [2022-02-20 14:25:06,801 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=59, Invalid=123, Unknown=0, NotChecked=0, Total=182 [2022-02-20 14:25:06,802 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 58 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 144 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 14:25:06,802 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 112 Invalid, 144 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-02-20 14:25:06,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-02-20 14:25:06,832 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 70. [2022-02-20 14:25:06,833 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:25:06,833 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 70 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 12 states have call successors, (12), 6 states have call predecessors, (12), 6 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-20 14:25:06,833 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 70 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 12 states have call successors, (12), 6 states have call predecessors, (12), 6 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-20 14:25:06,834 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 70 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 12 states have call successors, (12), 6 states have call predecessors, (12), 6 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-20 14:25:06,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:06,836 INFO L93 Difference]: Finished difference Result 85 states and 98 transitions. [2022-02-20 14:25:06,837 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 98 transitions. [2022-02-20 14:25:06,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:25:06,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:25:06,837 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 12 states have call successors, (12), 6 states have call predecessors, (12), 6 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 85 states. [2022-02-20 14:25:06,838 INFO L87 Difference]: Start difference. First operand has 70 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 12 states have call successors, (12), 6 states have call predecessors, (12), 6 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 85 states. [2022-02-20 14:25:06,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:06,840 INFO L93 Difference]: Finished difference Result 85 states and 98 transitions. [2022-02-20 14:25:06,840 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 98 transitions. [2022-02-20 14:25:06,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:25:06,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:25:06,841 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:25:06,841 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:25:06,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 12 states have call successors, (12), 6 states have call predecessors, (12), 6 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-20 14:25:06,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 81 transitions. [2022-02-20 14:25:06,843 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 81 transitions. Word has length 38 [2022-02-20 14:25:06,844 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:25:06,844 INFO L470 AbstractCegarLoop]: Abstraction has 70 states and 81 transitions. [2022-02-20 14:25:06,844 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 14:25:06,844 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 81 transitions. [2022-02-20 14:25:06,845 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-02-20 14:25:06,845 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:25:06,845 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 14:25:06,869 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:25:07,062 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:25:07,062 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:25:07,063 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:25:07,063 INFO L85 PathProgramCache]: Analyzing trace with hash 383375294, now seen corresponding path program 1 times [2022-02-20 14:25:07,063 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:25:07,063 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1385740279] [2022-02-20 14:25:07,063 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:25:07,063 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:25:07,086 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:25:07,086 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1627781341] [2022-02-20 14:25:07,086 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:25:07,086 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:25:07,087 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:25:07,088 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:25:07,089 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:25:07,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:25:07,219 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 87 conjunts are in the unsatisfiable core [2022-02-20 14:25:07,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:25:07,243 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:25:07,317 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-02-20 14:25:07,527 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:07,547 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 31 [2022-02-20 14:25:07,576 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 28 treesize of output 28 [2022-02-20 14:25:07,617 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 12 treesize of output 11 [2022-02-20 14:25:07,640 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 12 treesize of output 11 [2022-02-20 14:25:10,544 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:10,565 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 179 treesize of output 170 [2022-02-20 14:25:10,607 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 170 treesize of output 162 [2022-02-20 14:25:10,650 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:10,657 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:10,658 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:25:10,660 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 134 treesize of output 201 [2022-02-20 14:25:10,700 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:25:10,702 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 21 [2022-02-20 14:25:10,882 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:10,895 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 149 treesize of output 44 [2022-02-20 14:25:14,461 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:14,483 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 175 treesize of output 166 [2022-02-20 14:25:14,539 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 166 treesize of output 158 [2022-02-20 14:25:14,592 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:14,597 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:14,598 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:25:14,600 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 134 treesize of output 201 [2022-02-20 14:25:14,660 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:25:14,661 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 17 [2022-02-20 14:25:14,765 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:14,776 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 106 treesize of output 20 [2022-02-20 14:25:20,807 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:25:20,808 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:25:20,808 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 20 [2022-02-20 14:25:22,289 INFO L290 TraceCheckUtils]: 0: Hoare triple {1808#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(17, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {1808#true} is VALID [2022-02-20 14:25:22,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {1808#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~nondet6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~nondet9#1, main_#t~mem11#1, main_#t~ret12#1, main_#t~mem13#1, main_#t~ret14#1, main_#t~post10#1, main_~#array1~0#1.base, main_~#array1~0#1.offset, main_~#array2~0#1.base, main_~#array2~0#1.offset, main_~count~0#1, main_~num~0#1, main_~sum1~0#1, main_~sum2~0#1, main_~temp~0#1, main_~index~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; {1808#true} is VALID [2022-02-20 14:25:22,290 INFO L272 TraceCheckUtils]: 2: Hoare triple {1808#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {1808#true} is VALID [2022-02-20 14:25:22,290 INFO L290 TraceCheckUtils]: 3: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-02-20 14:25:22,290 INFO L290 TraceCheckUtils]: 4: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-02-20 14:25:22,290 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-02-20 14:25:22,290 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1808#true} {1808#true} #79#return; {1808#true} is VALID [2022-02-20 14:25:22,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} call main_~#array1~0#1.base, main_~#array1~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));call main_~#array2~0#1.base, main_~#array2~0#1.offset := #Ultimate.allocOnStack(4 * (if ~ARR_SIZE~0 % 4294967296 <= 2147483647 then ~ARR_SIZE~0 % 4294967296 else ~ARR_SIZE~0 % 4294967296 - 4294967296));main_~count~0#1 := 0;main_~num~0#1 := -1;main_~sum1~0#1 := 0;main_~sum2~0#1 := 0;havoc main_~temp~0#1;havoc main_~index~0#1;main_~count~0#1 := 0; {1834#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {1834#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call write~int(0, main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4);call write~int(0, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {1838#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {1838#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* |ULTIMATE.start_main_~count~0#1| 4))) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} main_#t~post5#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1842#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,293 INFO L290 TraceCheckUtils]: 10: Hoare triple {1842#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 1) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1846#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,294 INFO L290 TraceCheckUtils]: 11: Hoare triple {1846#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume !false;assume -32768 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 32767;main_~index~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {1846#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,296 INFO L272 TraceCheckUtils]: 12: Hoare triple {1846#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} call assume_abort_if_not((if main_~index~0#1 >= 0 && main_~index~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1853#(and (<= ~ARR_SIZE~0 1) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))))} is VALID [2022-02-20 14:25:22,296 INFO L290 TraceCheckUtils]: 13: Hoare triple {1853#(and (<= ~ARR_SIZE~0 1) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))))} ~cond := #in~cond; {1857#(and (<= ~ARR_SIZE~0 1) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))))} is VALID [2022-02-20 14:25:22,297 INFO L290 TraceCheckUtils]: 14: Hoare triple {1857#(and (<= ~ARR_SIZE~0 1) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))))} assume !(0 == ~cond); {1861#(and (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))))} is VALID [2022-02-20 14:25:22,298 INFO L290 TraceCheckUtils]: 15: Hoare triple {1861#(and (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))))} assume true; {1861#(and (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))))} is VALID [2022-02-20 14:25:22,300 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1861#(and (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_4|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))))} {1846#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (not (< 1 ~ARR_SIZE~0)) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} #81#return; {1868#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,305 INFO L290 TraceCheckUtils]: 17: Hoare triple {1868#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} call main_#t~mem7#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);call write~int(main_#t~mem7#1 + main_~num~0#1 * (main_~num~0#1 * main_~index~0#1), main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);call write~int(main_#t~mem8#1 + main_~num~0#1 * main_~index~0#1, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);havoc main_#t~mem8#1;assume -2147483648 <= main_#t~nondet9#1 && main_#t~nondet9#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {1872#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|))) (* (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|) |ULTIMATE.start_main_~num~0#1|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|)))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,307 INFO L290 TraceCheckUtils]: 18: Hoare triple {1872#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|))) (* (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|) |ULTIMATE.start_main_~num~0#1|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|)))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume !(0 == main_~temp~0#1); {1872#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|))) (* (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|) |ULTIMATE.start_main_~num~0#1|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|)))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,308 INFO L290 TraceCheckUtils]: 19: Hoare triple {1872#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|))) (* (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|) |ULTIMATE.start_main_~num~0#1|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|)))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume !false;assume -32768 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 32767;main_~index~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {1872#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|))) (* (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|) |ULTIMATE.start_main_~num~0#1|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|)))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,311 INFO L272 TraceCheckUtils]: 20: Hoare triple {1872#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|))) (* (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|) |ULTIMATE.start_main_~num~0#1|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|)))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} call assume_abort_if_not((if main_~index~0#1 >= 0 && main_~index~0#1 < ~ARR_SIZE~0 then 1 else 0)); {1882#(and (<= ~ARR_SIZE~0 1) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3| Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|)))))} is VALID [2022-02-20 14:25:22,312 INFO L290 TraceCheckUtils]: 21: Hoare triple {1882#(and (<= ~ARR_SIZE~0 1) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3| Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|)))))} ~cond := #in~cond; {1886#(and (<= ~ARR_SIZE~0 1) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3| Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|)))))} is VALID [2022-02-20 14:25:22,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {1886#(and (<= ~ARR_SIZE~0 1) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3| Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|)))))} assume !(0 == ~cond); {1890#(and (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3| Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|)))))} is VALID [2022-02-20 14:25:22,315 INFO L290 TraceCheckUtils]: 23: Hoare triple {1890#(and (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3| Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|)))))} assume true; {1890#(and (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3| Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|)))))} is VALID [2022-02-20 14:25:22,319 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1890#(and (<= ~ARR_SIZE~0 1) (not (= |assume_abort_if_not_#in~cond| 0)) (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3| Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|) (* 4 |ULTIMATE.start_main_~index~0#1|)) |ULTIMATE.start_main_~index~0#1|) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_5| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_3|)))))} {1872#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|))) (* (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|) |ULTIMATE.start_main_~num~0#1|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (* |ULTIMATE.start_main_~num~0#1| |ULTIMATE.start_main_~index~0#1|)))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} #81#return; {1868#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {1868#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 0) (= (+ |ULTIMATE.start_main_~num~0#1| 1) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} call main_#t~mem7#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);call write~int(main_#t~mem7#1 + main_~num~0#1 * (main_~num~0#1 * main_~index~0#1), main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~index~0#1, 4);havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);call write~int(main_#t~mem8#1 + main_~num~0#1 * main_~index~0#1, main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * (if (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 <= 2147483647 then (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 else (~ARR_SIZE~0 - 1 - main_~index~0#1) % 4294967296 - 4294967296), 4);havoc main_#t~mem8#1;assume -2147483648 <= main_#t~nondet9#1 && main_#t~nondet9#1 <= 2147483647;main_~temp~0#1 := main_#t~nondet9#1;havoc main_#t~nondet9#1; {1900#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,345 INFO L290 TraceCheckUtils]: 26: Hoare triple {1900#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume 0 == main_~temp~0#1; {1900#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,347 INFO L290 TraceCheckUtils]: 27: Hoare triple {1900#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} main_~count~0#1 := 0; {1907#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} is VALID [2022-02-20 14:25:22,349 INFO L290 TraceCheckUtils]: 28: Hoare triple {1907#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int)) (and (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| (* 4 |ULTIMATE.start_main_~index~0#1|)))) 0) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} assume !!(main_~count~0#1 < ~ARR_SIZE~0);call main_#t~mem11#1 := read~int(main_~#array1~0#1.base, main_~#array1~0#1.offset + 4 * main_~count~0#1, 4); {1911#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)) |ULTIMATE.start_main_#t~mem11#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))))} is VALID [2022-02-20 14:25:22,352 INFO L272 TraceCheckUtils]: 29: Hoare triple {1911#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)) |ULTIMATE.start_main_#t~mem11#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))))} call main_#t~ret12#1 := square(main_#t~mem11#1); {1915#(exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| Int) (~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| |ULTIMATE.start_main_~#array1~0#1.base|))))} is VALID [2022-02-20 14:25:22,354 INFO L290 TraceCheckUtils]: 30: Hoare triple {1915#(exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| Int) (~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| |ULTIMATE.start_main_~#array1~0#1.base|))))} ~x := #in~x;#res := ~x * ~x; {1919#(and (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| Int) (~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| |ULTIMATE.start_main_~#array1~0#1.base|)))) (= |square_#res| (* |square_#in~x| |square_#in~x|)))} is VALID [2022-02-20 14:25:22,356 INFO L290 TraceCheckUtils]: 31: Hoare triple {1919#(and (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| Int) (~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| |ULTIMATE.start_main_~#array1~0#1.base|)))) (= |square_#res| (* |square_#in~x| |square_#in~x|)))} assume true; {1919#(and (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| Int) (~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| |ULTIMATE.start_main_~#array1~0#1.base|)))) (= |square_#res| (* |square_#in~x| |square_#in~x|)))} is VALID [2022-02-20 14:25:22,372 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1919#(and (exists ((|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| Int) (~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6|) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_6| |ULTIMATE.start_main_~#array1~0#1.base|)))) (= |square_#res| (* |square_#in~x| |square_#in~x|)))} {1911#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (exists ((~ARR_SIZE~0 Int) (|ULTIMATE.start_main_~index~0#1| Int) (|ULTIMATE.start_main_~#array1~0#1.base| Int)) (and (<= ~ARR_SIZE~0 1) (<= 0 |ULTIMATE.start_main_~index~0#1|) (= (+ (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* 4 |ULTIMATE.start_main_~index~0#1|))) 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (* |ULTIMATE.start_main_~count~0#1| 4)) |ULTIMATE.start_main_#t~mem11#1|) (= (* (- 1) |ULTIMATE.start_main_~index~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)))) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))))} #83#return; {1926#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_10| Int) (v_~ARR_SIZE~0_15 Int) (|v_ULTIMATE.start_main_~index~0#1_13| Int)) (and (= (* (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_10|) (* |ULTIMATE.start_main_~count~0#1| 4)) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_10|) (* |ULTIMATE.start_main_~count~0#1| 4))) |ULTIMATE.start_main_#t~ret12#1|) (not (= |v_ULTIMATE.start_main_~#array1~0#1.base_10| |ULTIMATE.start_main_~#array2~0#1.base|)) (= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ v_~ARR_SIZE~0_15 4294967295 (* 4294967295 |v_ULTIMATE.start_main_~index~0#1_13|)) 4294967296) 4))) |v_ULTIMATE.start_main_~index~0#1_13|) 0) (< |v_ULTIMATE.start_main_~index~0#1_13| v_~ARR_SIZE~0_15) (<= 0 |v_ULTIMATE.start_main_~index~0#1_13|) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_10|) (* 4 |v_ULTIMATE.start_main_~index~0#1_13|)) |v_ULTIMATE.start_main_~index~0#1_13|) (<= v_~ARR_SIZE~0_15 1))) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:25:22,377 INFO L290 TraceCheckUtils]: 33: Hoare triple {1926#(and (= |ULTIMATE.start_main_~sum1~0#1| 0) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_10| Int) (v_~ARR_SIZE~0_15 Int) (|v_ULTIMATE.start_main_~index~0#1_13| Int)) (and (= (* (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_10|) (* |ULTIMATE.start_main_~count~0#1| 4)) (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_10|) (* |ULTIMATE.start_main_~count~0#1| 4))) |ULTIMATE.start_main_#t~ret12#1|) (not (= |v_ULTIMATE.start_main_~#array1~0#1.base_10| |ULTIMATE.start_main_~#array2~0#1.base|)) (= (+ (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ v_~ARR_SIZE~0_15 4294967295 (* 4294967295 |v_ULTIMATE.start_main_~index~0#1_13|)) 4294967296) 4))) |v_ULTIMATE.start_main_~index~0#1_13|) 0) (< |v_ULTIMATE.start_main_~index~0#1_13| v_~ARR_SIZE~0_15) (<= 0 |v_ULTIMATE.start_main_~index~0#1_13|) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_10|) (* 4 |v_ULTIMATE.start_main_~index~0#1_13|)) |v_ULTIMATE.start_main_~index~0#1_13|) (<= v_~ARR_SIZE~0_15 1))) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~count~0#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0))} assume -9223372036854775808 <= main_#t~ret12#1 && main_#t~ret12#1 <= 9223372036854775807;main_~sum1~0#1 := main_~sum1~0#1 + main_#t~ret12#1;havoc main_#t~mem11#1;havoc main_#t~ret12#1;call main_#t~mem13#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4); {1930#(and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0))} is VALID [2022-02-20 14:25:22,377 INFO L272 TraceCheckUtils]: 34: Hoare triple {1930#(and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0))} call main_#t~ret14#1 := square(main_#t~mem13#1); {1808#true} is VALID [2022-02-20 14:25:22,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~x := #in~x;#res := ~x * ~x; {1937#(= |square_#res| (* |square_#in~x| |square_#in~x|))} is VALID [2022-02-20 14:25:22,378 INFO L290 TraceCheckUtils]: 36: Hoare triple {1937#(= |square_#res| (* |square_#in~x| |square_#in~x|))} assume true; {1937#(= |square_#res| (* |square_#in~x| |square_#in~x|))} is VALID [2022-02-20 14:25:22,380 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1937#(= |square_#res| (* |square_#in~x| |square_#in~x|))} {1930#(and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= |ULTIMATE.start_main_~sum2~0#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0))} #85#return; {1944#(and (exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (= (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_#t~ret14#1|) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0))) (= |ULTIMATE.start_main_~sum2~0#1| 0))} is VALID [2022-02-20 14:25:22,381 INFO L290 TraceCheckUtils]: 38: Hoare triple {1944#(and (exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (= (* |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_#t~ret14#1|) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0))) (= |ULTIMATE.start_main_~sum2~0#1| 0))} assume -9223372036854775808 <= main_#t~ret14#1 && main_#t~ret14#1 <= 9223372036854775807;main_~sum2~0#1 := main_~sum2~0#1 + main_#t~ret14#1;havoc main_#t~mem13#1;havoc main_#t~ret14#1; {1948#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_~sum2~0#1|) 0)))} is VALID [2022-02-20 14:25:22,382 INFO L290 TraceCheckUtils]: 39: Hoare triple {1948#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_~sum2~0#1|) 0)))} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {1948#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_~sum2~0#1|) 0)))} is VALID [2022-02-20 14:25:22,382 INFO L290 TraceCheckUtils]: 40: Hoare triple {1948#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_~sum2~0#1|) 0)))} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1948#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_~sum2~0#1|) 0)))} is VALID [2022-02-20 14:25:22,383 INFO L290 TraceCheckUtils]: 41: Hoare triple {1948#(exists ((|ULTIMATE.start_main_#t~mem13#1| Int)) (and (< 0 (+ |ULTIMATE.start_main_#t~mem13#1| 1)) (<= |ULTIMATE.start_main_#t~mem13#1| 0) (= (+ (* (- 1) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|) (* (- 1) |ULTIMATE.start_main_#t~mem13#1|)) |ULTIMATE.start_main_~sum1~0#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_#t~mem13#1| |ULTIMATE.start_main_#t~mem13#1|) |ULTIMATE.start_main_~sum2~0#1|) 0)))} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if main_~sum1~0#1 == main_~sum2~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1958#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:25:22,383 INFO L290 TraceCheckUtils]: 42: Hoare triple {1958#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {1809#false} is VALID [2022-02-20 14:25:22,383 INFO L290 TraceCheckUtils]: 43: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-02-20 14:25:22,384 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 14:25:22,384 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:25:44,918 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:25:44,919 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1385740279] [2022-02-20 14:25:44,919 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:25:44,919 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1627781341] [2022-02-20 14:25:44,919 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1627781341] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:25:44,919 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 14:25:44,919 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25] total 25 [2022-02-20 14:25:44,919 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [658086388] [2022-02-20 14:25:44,919 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 14:25:44,920 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 19 states have internal predecessors, (34), 5 states have call successors, (5), 4 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Word has length 44 [2022-02-20 14:25:44,920 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:25:44,920 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 25 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 19 states have internal predecessors, (34), 5 states have call successors, (5), 4 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 14:25:45,117 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:25:45,117 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-02-20 14:25:45,117 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:25:45,118 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-02-20 14:25:45,118 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=149, Invalid=967, Unknown=6, NotChecked=0, Total=1122 [2022-02-20 14:25:45,118 INFO L87 Difference]: Start difference. First operand 70 states and 81 transitions. Second operand has 25 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 19 states have internal predecessors, (34), 5 states have call successors, (5), 4 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5)