./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/array-patterns/array2_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/array2_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 1a25becec148beba97bef86c2a84619bb26dfafe7c127e8d70246837f0d2d470 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 14:24:32,723 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 14:24:32,724 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 14:24:32,780 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 14:24:32,781 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 14:24:32,783 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 14:24:32,784 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 14:24:32,787 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 14:24:32,789 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 14:24:32,795 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 14:24:32,796 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 14:24:32,798 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 14:24:32,798 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 14:24:32,801 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 14:24:32,803 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 14:24:32,807 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 14:24:32,808 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 14:24:32,808 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 14:24:32,810 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 14:24:32,817 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 14:24:32,818 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 14:24:32,819 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 14:24:32,820 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 14:24:32,821 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 14:24:32,826 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 14:24:32,827 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 14:24:32,827 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 14:24:32,829 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 14:24:32,829 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 14:24:32,830 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 14:24:32,830 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 14:24:32,831 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 14:24:32,832 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 14:24:32,833 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 14:24:32,834 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 14:24:32,835 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 14:24:32,835 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 14:24:32,835 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 14:24:32,836 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 14:24:32,836 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 14:24:32,837 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 14:24:32,838 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:32,870 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 14:24:32,870 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 14:24:32,871 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 14:24:32,871 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 14:24:32,872 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 14:24:32,872 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 14:24:32,872 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 14:24:32,873 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 14:24:32,873 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 14:24:32,873 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 14:24:32,874 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 14:24:32,874 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 14:24:32,874 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 14:24:32,874 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 14:24:32,875 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 14:24:32,875 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 14:24:32,875 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 14:24:32,875 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 14:24:32,875 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 14:24:32,875 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 14:24:32,876 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 14:24:32,876 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 14:24:32,876 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 14:24:32,876 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 14:24:32,876 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:24:32,876 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 14:24:32,877 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 14:24:32,878 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 14:24:32,878 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 14:24:32,878 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 14:24:32,878 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 14:24:32,879 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 14:24:32,879 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 14:24:32,879 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 -> 1a25becec148beba97bef86c2a84619bb26dfafe7c127e8d70246837f0d2d470 [2022-02-20 14:24:33,083 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 14:24:33,108 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 14:24:33,111 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 14:24:33,112 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 14:24:33,112 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 14:24:33,114 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-patterns/array2_pattern.c [2022-02-20 14:24:33,179 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6c7441127/3fc70401a3d8421388d52038908d2811/FLAG5bc22a78c [2022-02-20 14:24:33,593 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 14:24:33,594 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-patterns/array2_pattern.c [2022-02-20 14:24:33,602 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6c7441127/3fc70401a3d8421388d52038908d2811/FLAG5bc22a78c [2022-02-20 14:24:33,613 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6c7441127/3fc70401a3d8421388d52038908d2811 [2022-02-20 14:24:33,615 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 14:24:33,618 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 14:24:33,620 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 14:24:33,620 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 14:24:33,623 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 14:24:33,624 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:24:33" (1/1) ... [2022-02-20 14:24:33,624 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@43e683ba and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:33, skipping insertion in model container [2022-02-20 14:24:33,625 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 02:24:33" (1/1) ... [2022-02-20 14:24:33,630 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 14:24:33,641 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 14:24:33,765 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/array2_pattern.c[1322,1335] [2022-02-20 14:24:33,789 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:24:33,794 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 14:24:33,802 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/array2_pattern.c[1322,1335] [2022-02-20 14:24:33,822 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 14:24:33,836 INFO L208 MainTranslator]: Completed translation [2022-02-20 14:24:33,837 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:33 WrapperNode [2022-02-20 14:24:33,837 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 14:24:33,838 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 14:24:33,839 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 14:24:33,839 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 14:24:33,845 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:33" (1/1) ... [2022-02-20 14:24:33,857 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:33" (1/1) ... [2022-02-20 14:24:33,888 INFO L137 Inliner]: procedures = 16, calls = 24, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 80 [2022-02-20 14:24:33,889 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 14:24:33,889 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 14:24:33,890 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 14:24:33,890 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 14:24:33,896 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:33" (1/1) ... [2022-02-20 14:24:33,896 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:33" (1/1) ... [2022-02-20 14:24:33,898 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:33" (1/1) ... [2022-02-20 14:24:33,899 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:33" (1/1) ... [2022-02-20 14:24:33,904 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:33" (1/1) ... [2022-02-20 14:24:33,917 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:33" (1/1) ... [2022-02-20 14:24:33,918 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:33" (1/1) ... [2022-02-20 14:24:33,920 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 14:24:33,920 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 14:24:33,923 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 14:24:33,923 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 14:24:33,924 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:33" (1/1) ... [2022-02-20 14:24:33,929 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 14:24:33,939 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:33,955 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:33,957 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:33,982 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 14:24:33,983 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 14:24:33,983 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 14:24:33,983 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 14:24:33,983 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 14:24:33,983 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 14:24:33,983 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 14:24:33,983 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 14:24:33,983 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 14:24:33,984 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 14:24:34,038 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 14:24:34,039 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 14:24:34,231 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 14:24:34,248 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 14:24:34,249 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 14:24:34,250 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:24:34 BoogieIcfgContainer [2022-02-20 14:24:34,250 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 14:24:34,251 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 14:24:34,251 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 14:24:34,256 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 14:24:34,256 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 02:24:33" (1/3) ... [2022-02-20 14:24:34,257 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6c28d437 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:24:34, skipping insertion in model container [2022-02-20 14:24:34,257 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 02:24:33" (2/3) ... [2022-02-20 14:24:34,257 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6c28d437 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 02:24:34, skipping insertion in model container [2022-02-20 14:24:34,258 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 02:24:34" (3/3) ... [2022-02-20 14:24:34,259 INFO L111 eAbstractionObserver]: Analyzing ICFG array2_pattern.c [2022-02-20 14:24:34,264 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 14:24:34,264 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 14:24:34,303 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 14:24:34,308 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:34,308 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 14:24:34,324 INFO L276 IsEmpty]: Start isEmpty. Operand has 25 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 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:34,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 14:24:34,328 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:34,329 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:34,329 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:34,333 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:34,334 INFO L85 PathProgramCache]: Analyzing trace with hash -800294020, now seen corresponding path program 1 times [2022-02-20 14:24:34,341 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:34,341 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1015923759] [2022-02-20 14:24:34,341 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:34,342 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:34,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:34,476 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 14:24:34,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:34,502 INFO L290 TraceCheckUtils]: 0: Hoare triple {28#true} ~cond := #in~cond; {28#true} is VALID [2022-02-20 14:24:34,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume 0 == ~cond;assume false; {29#false} is VALID [2022-02-20 14:24:34,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {29#false} assume true; {29#false} is VALID [2022-02-20 14:24:34,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29#false} {28#true} #73#return; {29#false} is VALID [2022-02-20 14:24:34,507 INFO L290 TraceCheckUtils]: 0: Hoare triple {28#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; {28#true} is VALID [2022-02-20 14:24:34,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#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~mem12#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_~index~0#1, main_~temp~0#1, main_~sum~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; {28#true} is VALID [2022-02-20 14:24:34,508 INFO L272 TraceCheckUtils]: 2: Hoare triple {28#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {28#true} is VALID [2022-02-20 14:24:34,509 INFO L290 TraceCheckUtils]: 3: Hoare triple {28#true} ~cond := #in~cond; {28#true} is VALID [2022-02-20 14:24:34,509 INFO L290 TraceCheckUtils]: 4: Hoare triple {28#true} assume 0 == ~cond;assume false; {29#false} is VALID [2022-02-20 14:24:34,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {29#false} assume true; {29#false} is VALID [2022-02-20 14:24:34,511 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {29#false} {28#true} #73#return; {29#false} is VALID [2022-02-20 14:24:34,511 INFO L290 TraceCheckUtils]: 7: Hoare triple {29#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;havoc main_~index~0#1;havoc main_~temp~0#1;main_~sum~0#1 := 0;main_~count~0#1 := 0; {29#false} is VALID [2022-02-20 14:24:34,511 INFO L290 TraceCheckUtils]: 8: Hoare triple {29#false} assume !true; {29#false} is VALID [2022-02-20 14:24:34,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} assume !true; {29#false} is VALID [2022-02-20 14:24:34,513 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} main_~count~0#1 := 0; {29#false} is VALID [2022-02-20 14:24:34,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !true; {29#false} is VALID [2022-02-20 14:24:34,514 INFO L290 TraceCheckUtils]: 12: Hoare triple {29#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 0 == main_~sum~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {29#false} is VALID [2022-02-20 14:24:34,514 INFO L290 TraceCheckUtils]: 13: Hoare triple {29#false} assume 0 == __VERIFIER_assert_~cond#1; {29#false} is VALID [2022-02-20 14:24:34,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-02-20 14:24:34,515 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:34,516 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:34,516 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1015923759] [2022-02-20 14:24:34,517 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1015923759] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:24:34,517 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:24:34,517 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 14:24:34,521 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1301482823] [2022-02-20 14:24:34,522 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:24:34,528 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:34,529 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:34,532 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:34,572 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:34,573 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 14:24:34,573 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:34,605 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 14:24:34,606 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 14:24:34,610 INFO L87 Difference]: Start difference. First operand has 25 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 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) 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:34,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:34,668 INFO L93 Difference]: Finished difference Result 47 states and 66 transitions. [2022-02-20 14:24:34,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 14:24:34,668 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:34,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:34,670 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:34,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 66 transitions. [2022-02-20 14:24:34,679 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:34,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 66 transitions. [2022-02-20 14:24:34,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 66 transitions. [2022-02-20 14:24:34,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:34,767 INFO L225 Difference]: With dead ends: 47 [2022-02-20 14:24:34,768 INFO L226 Difference]: Without dead ends: 21 [2022-02-20 14:24:34,770 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:34,773 INFO L933 BasicCegarLoop]: 28 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, 28 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:34,774 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 28 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:34,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-02-20 14:24:34,796 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2022-02-20 14:24:34,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:34,797 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand has 21 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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:34,798 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand has 21 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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:34,798 INFO L87 Difference]: Start difference. First operand 21 states. Second operand has 21 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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:34,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:34,806 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-02-20 14:24:34,806 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-02-20 14:24:34,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:34,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:34,807 INFO L74 IsIncluded]: Start isIncluded. First operand has 21 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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) Second operand 21 states. [2022-02-20 14:24:34,808 INFO L87 Difference]: Start difference. First operand has 21 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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) Second operand 21 states. [2022-02-20 14:24:34,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:34,812 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-02-20 14:24:34,812 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-02-20 14:24:34,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:34,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:34,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:34,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:34,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 17 states have internal predecessors, (20), 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:34,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 24 transitions. [2022-02-20 14:24:34,822 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 24 transitions. Word has length 15 [2022-02-20 14:24:34,822 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:34,823 INFO L470 AbstractCegarLoop]: Abstraction has 21 states and 24 transitions. [2022-02-20 14:24:34,824 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:34,824 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-02-20 14:24:34,825 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 14:24:34,826 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:34,827 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:34,827 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 14:24:34,827 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:34,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:34,828 INFO L85 PathProgramCache]: Analyzing trace with hash -952637313, now seen corresponding path program 1 times [2022-02-20 14:24:34,828 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:34,828 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [578981552] [2022-02-20 14:24:34,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:34,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:34,878 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:34,879 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [10957020] [2022-02-20 14:24:34,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:34,879 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:34,879 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:34,881 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:34,885 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:34,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:34,948 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 14:24:34,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:34,960 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:35,065 INFO L290 TraceCheckUtils]: 0: Hoare triple {162#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; {162#true} is VALID [2022-02-20 14:24:35,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {162#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~mem12#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_~index~0#1, main_~temp~0#1, main_~sum~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; {162#true} is VALID [2022-02-20 14:24:35,066 INFO L272 TraceCheckUtils]: 2: Hoare triple {162#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {162#true} is VALID [2022-02-20 14:24:35,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {162#true} ~cond := #in~cond; {162#true} is VALID [2022-02-20 14:24:35,066 INFO L290 TraceCheckUtils]: 4: Hoare triple {162#true} assume !(0 == ~cond); {162#true} is VALID [2022-02-20 14:24:35,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {162#true} assume true; {162#true} is VALID [2022-02-20 14:24:35,066 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {162#true} {162#true} #73#return; {162#true} is VALID [2022-02-20 14:24:35,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {162#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;havoc main_~index~0#1;havoc main_~temp~0#1;main_~sum~0#1 := 0;main_~count~0#1 := 0; {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:35,068 INFO L290 TraceCheckUtils]: 8: Hoare triple {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:35,068 INFO L290 TraceCheckUtils]: 9: Hoare triple {188#(= |ULTIMATE.start_main_~sum~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; {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:35,068 INFO L272 TraceCheckUtils]: 10: Hoare triple {188#(= |ULTIMATE.start_main_~sum~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)); {162#true} is VALID [2022-02-20 14:24:35,068 INFO L290 TraceCheckUtils]: 11: Hoare triple {162#true} ~cond := #in~cond; {162#true} is VALID [2022-02-20 14:24:35,069 INFO L290 TraceCheckUtils]: 12: Hoare triple {162#true} assume !(0 == ~cond); {162#true} is VALID [2022-02-20 14:24:35,069 INFO L290 TraceCheckUtils]: 13: Hoare triple {162#true} assume true; {162#true} is VALID [2022-02-20 14:24:35,069 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {162#true} {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} #75#return; {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:35,070 INFO L290 TraceCheckUtils]: 15: Hoare triple {188#(= |ULTIMATE.start_main_~sum~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; {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:35,071 INFO L290 TraceCheckUtils]: 16: Hoare triple {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} assume 0 == main_~temp~0#1; {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:35,071 INFO L290 TraceCheckUtils]: 17: Hoare triple {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} main_~count~0#1 := 0; {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:35,071 INFO L290 TraceCheckUtils]: 18: Hoare triple {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:35,072 INFO L290 TraceCheckUtils]: 19: Hoare triple {188#(= |ULTIMATE.start_main_~sum~0#1| 0)} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 0 == main_~sum~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {225#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:24:35,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {225#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {163#false} is VALID [2022-02-20 14:24:35,073 INFO L290 TraceCheckUtils]: 21: Hoare triple {163#false} assume !false; {163#false} is VALID [2022-02-20 14:24:35,073 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:35,073 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:24:35,073 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:35,073 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [578981552] [2022-02-20 14:24:35,074 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:35,074 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [10957020] [2022-02-20 14:24:35,074 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [10957020] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:24:35,074 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:24:35,074 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 14:24:35,075 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [623338328] [2022-02-20 14:24:35,075 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:24:35,076 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:35,076 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:35,076 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:35,092 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:35,092 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 14:24:35,092 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:35,093 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 14:24:35,093 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 14:24:35,093 INFO L87 Difference]: Start difference. First operand 21 states and 24 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:35,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:35,146 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-02-20 14:24:35,146 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 14:24:35,147 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:35,147 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:35,147 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:35,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 29 transitions. [2022-02-20 14:24:35,148 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:35,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 29 transitions. [2022-02-20 14:24:35,149 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 29 transitions. [2022-02-20 14:24:35,171 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:35,172 INFO L225 Difference]: With dead ends: 26 [2022-02-20 14:24:35,172 INFO L226 Difference]: Without dead ends: 22 [2022-02-20 14:24:35,172 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:35,177 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 4 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 54 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:35,177 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 54 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:24:35,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2022-02-20 14:24:35,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2022-02-20 14:24:35,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:35,184 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand has 22 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 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:35,185 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand has 22 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 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:35,185 INFO L87 Difference]: Start difference. First operand 22 states. Second operand has 22 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 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:35,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:35,188 INFO L93 Difference]: Finished difference Result 22 states and 25 transitions. [2022-02-20 14:24:35,189 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 25 transitions. [2022-02-20 14:24:35,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:35,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:35,190 INFO L74 IsIncluded]: Start isIncluded. First operand has 22 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 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) Second operand 22 states. [2022-02-20 14:24:35,191 INFO L87 Difference]: Start difference. First operand has 22 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 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) Second operand 22 states. [2022-02-20 14:24:35,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:35,193 INFO L93 Difference]: Finished difference Result 22 states and 25 transitions. [2022-02-20 14:24:35,194 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 25 transitions. [2022-02-20 14:24:35,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:35,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:35,195 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:35,195 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:35,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 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:35,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 25 transitions. [2022-02-20 14:24:35,199 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 25 transitions. Word has length 22 [2022-02-20 14:24:35,199 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:35,199 INFO L470 AbstractCegarLoop]: Abstraction has 22 states and 25 transitions. [2022-02-20 14:24:35,200 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:35,200 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 25 transitions. [2022-02-20 14:24:35,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 14:24:35,201 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:35,201 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:35,226 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 14:24:35,411 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:35,412 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:35,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:35,412 INFO L85 PathProgramCache]: Analyzing trace with hash -603190335, now seen corresponding path program 1 times [2022-02-20 14:24:35,413 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:35,413 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1968029039] [2022-02-20 14:24:35,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:35,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:35,447 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:35,448 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1819002416] [2022-02-20 14:24:35,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:35,448 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:35,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:35,455 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:35,456 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:35,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:35,508 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 14:24:35,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:35,520 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:35,674 INFO L290 TraceCheckUtils]: 0: Hoare triple {337#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(17, 2);call #Ultimate.allocInit(12, 3);~ARR_SIZE~0 := 0; {337#true} is VALID [2022-02-20 14:24:35,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {337#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~post5#1, main_#t~nondet6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~nondet9#1, main_#t~mem11#1, main_#t~mem12#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_~index~0#1, main_~temp~0#1, main_~sum~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; {337#true} is VALID [2022-02-20 14:24:35,675 INFO L272 TraceCheckUtils]: 2: Hoare triple {337#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {337#true} is VALID [2022-02-20 14:24:35,675 INFO L290 TraceCheckUtils]: 3: Hoare triple {337#true} ~cond := #in~cond; {337#true} is VALID [2022-02-20 14:24:35,675 INFO L290 TraceCheckUtils]: 4: Hoare triple {337#true} assume !(0 == ~cond); {337#true} is VALID [2022-02-20 14:24:35,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {337#true} assume true; {337#true} is VALID [2022-02-20 14:24:35,676 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {337#true} {337#true} #73#return; {337#true} is VALID [2022-02-20 14:24:35,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {337#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;havoc main_~index~0#1;havoc main_~temp~0#1;main_~sum~0#1 := 0;main_~count~0#1 := 0; {363#(<= |ULTIMATE.start_main_~count~0#1| 0)} is VALID [2022-02-20 14:24:35,679 INFO L290 TraceCheckUtils]: 8: Hoare triple {363#(<= |ULTIMATE.start_main_~count~0#1| 0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {367#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:35,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {367#(<= ~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; {367#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:35,680 INFO L272 TraceCheckUtils]: 10: Hoare triple {367#(<= ~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)); {367#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:35,681 INFO L290 TraceCheckUtils]: 11: Hoare triple {367#(<= ~ARR_SIZE~0 0)} ~cond := #in~cond; {367#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:35,681 INFO L290 TraceCheckUtils]: 12: Hoare triple {367#(<= ~ARR_SIZE~0 0)} assume !(0 == ~cond); {367#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:35,682 INFO L290 TraceCheckUtils]: 13: Hoare triple {367#(<= ~ARR_SIZE~0 0)} assume true; {367#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:35,683 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {367#(<= ~ARR_SIZE~0 0)} {367#(<= ~ARR_SIZE~0 0)} #75#return; {367#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:35,684 INFO L290 TraceCheckUtils]: 15: Hoare triple {367#(<= ~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; {367#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:35,684 INFO L290 TraceCheckUtils]: 16: Hoare triple {367#(<= ~ARR_SIZE~0 0)} assume 0 == main_~temp~0#1; {367#(<= ~ARR_SIZE~0 0)} is VALID [2022-02-20 14:24:35,685 INFO L290 TraceCheckUtils]: 17: Hoare triple {367#(<= ~ARR_SIZE~0 0)} main_~count~0#1 := 0; {395#(and (<= 0 |ULTIMATE.start_main_~count~0#1|) (<= ~ARR_SIZE~0 0))} is VALID [2022-02-20 14:24:35,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {395#(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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {338#false} is VALID [2022-02-20 14:24:35,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {338#false} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {338#false} is VALID [2022-02-20 14:24:35,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {338#false} assume !(main_~count~0#1 < ~ARR_SIZE~0); {338#false} is VALID [2022-02-20 14:24:35,689 INFO L290 TraceCheckUtils]: 21: Hoare triple {338#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 0 == main_~sum~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {338#false} is VALID [2022-02-20 14:24:35,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {338#false} assume 0 == __VERIFIER_assert_~cond#1; {338#false} is VALID [2022-02-20 14:24:35,690 INFO L290 TraceCheckUtils]: 23: Hoare triple {338#false} assume !false; {338#false} is VALID [2022-02-20 14:24:35,690 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:24:35,690 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 14:24:35,690 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:35,690 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1968029039] [2022-02-20 14:24:35,691 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:35,691 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1819002416] [2022-02-20 14:24:35,691 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1819002416] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 14:24:35,692 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 14:24:35,692 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 14:24:35,692 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1680263505] [2022-02-20 14:24:35,692 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 14:24:35,692 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 24 [2022-02-20 14:24:35,693 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:35,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:35,711 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:35,712 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 14:24:35,712 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:35,712 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 14:24:35,712 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 14:24:35,713 INFO L87 Difference]: Start difference. First operand 22 states and 25 transitions. Second operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:35,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:35,863 INFO L93 Difference]: Finished difference Result 41 states and 46 transitions. [2022-02-20 14:24:35,864 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 14:24:35,864 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 24 [2022-02-20 14:24:35,864 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:35,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:35,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 46 transitions. [2022-02-20 14:24:35,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:35,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 46 transitions. [2022-02-20 14:24:35,868 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 46 transitions. [2022-02-20 14:24:35,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:35,909 INFO L225 Difference]: With dead ends: 41 [2022-02-20 14:24:35,909 INFO L226 Difference]: Without dead ends: 25 [2022-02-20 14:24:35,910 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 20 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:35,911 INFO L933 BasicCegarLoop]: 21 mSDtfsCounter, 9 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:35,911 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 68 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 14:24:35,912 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2022-02-20 14:24:35,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 23. [2022-02-20 14:24:35,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:35,915 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand has 23 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 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:35,915 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand has 23 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 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:35,915 INFO L87 Difference]: Start difference. First operand 25 states. Second operand has 23 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 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:35,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:35,916 INFO L93 Difference]: Finished difference Result 25 states and 28 transitions. [2022-02-20 14:24:35,917 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-02-20 14:24:35,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:35,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:35,917 INFO L74 IsIncluded]: Start isIncluded. First operand has 23 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 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) Second operand 25 states. [2022-02-20 14:24:35,917 INFO L87 Difference]: Start difference. First operand has 23 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 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) Second operand 25 states. [2022-02-20 14:24:35,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:35,919 INFO L93 Difference]: Finished difference Result 25 states and 28 transitions. [2022-02-20 14:24:35,919 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-02-20 14:24:35,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:35,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:35,919 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:35,919 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:35,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 19 states have internal predecessors, (22), 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:35,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 26 transitions. [2022-02-20 14:24:35,921 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 26 transitions. Word has length 24 [2022-02-20 14:24:35,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:35,921 INFO L470 AbstractCegarLoop]: Abstraction has 23 states and 26 transitions. [2022-02-20 14:24:35,921 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:35,921 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 26 transitions. [2022-02-20 14:24:35,922 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 14:24:35,922 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:35,922 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 14:24:35,948 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:36,139 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:36,140 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:36,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:36,140 INFO L85 PathProgramCache]: Analyzing trace with hash 1366149955, now seen corresponding path program 1 times [2022-02-20 14:24:36,141 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:36,141 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [873125832] [2022-02-20 14:24:36,141 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:36,141 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:36,176 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:36,177 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [785342645] [2022-02-20 14:24:36,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:36,178 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:36,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:36,180 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:36,182 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:36,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:36,253 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 45 conjunts are in the unsatisfiable core [2022-02-20 14:24:36,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:36,271 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:24:36,344 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:36,411 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:36,422 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:36,433 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:36,439 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:36,446 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:37,616 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:37,645 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:37,698 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:37,747 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:37,748 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:37,749 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:24:37,751 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:37,801 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:24:37,802 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:37,907 WARN L234 Elim1Store]: Array PQE input equivalent to false [2022-02-20 14:24:39,377 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 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 89 treesize of output 79 [2022-02-20 14:24:39,447 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:24:39,452 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 14:24:39,453 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 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 29 treesize of output 16 [2022-02-20 14:24:39,477 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 14:24:39,478 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 33 treesize of output 29 [2022-02-20 14:24:39,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {549#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; {549#true} is VALID [2022-02-20 14:24:39,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {549#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~mem12#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_~index~0#1, main_~temp~0#1, main_~sum~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; {549#true} is VALID [2022-02-20 14:24:39,545 INFO L272 TraceCheckUtils]: 2: Hoare triple {549#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {549#true} is VALID [2022-02-20 14:24:39,545 INFO L290 TraceCheckUtils]: 3: Hoare triple {549#true} ~cond := #in~cond; {549#true} is VALID [2022-02-20 14:24:39,545 INFO L290 TraceCheckUtils]: 4: Hoare triple {549#true} assume !(0 == ~cond); {549#true} is VALID [2022-02-20 14:24:39,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {549#true} assume true; {549#true} is VALID [2022-02-20 14:24:39,546 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {549#true} {549#true} #73#return; {549#true} is VALID [2022-02-20 14:24:39,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {549#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;havoc main_~index~0#1;havoc main_~temp~0#1;main_~sum~0#1 := 0;main_~count~0#1 := 0; {575#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (= |ULTIMATE.start_main_~count~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:39,549 INFO L290 TraceCheckUtils]: 8: Hoare triple {575#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (= |ULTIMATE.start_main_~count~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); {579#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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) (= (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:39,550 INFO L290 TraceCheckUtils]: 9: Hoare triple {579#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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) (= (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; {583#(and (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (<= |ULTIMATE.start_main_~count~0#1| 1) (= (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:39,551 INFO L290 TraceCheckUtils]: 10: Hoare triple {583#(and (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (<= |ULTIMATE.start_main_~count~0#1| 1) (= (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); {587#(and (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (= |ULTIMATE.start_main_~sum~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:39,551 INFO L290 TraceCheckUtils]: 11: Hoare triple {587#(and (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (= |ULTIMATE.start_main_~sum~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; {587#(and (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (= |ULTIMATE.start_main_~sum~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:39,553 INFO L272 TraceCheckUtils]: 12: Hoare triple {587#(and (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (= |ULTIMATE.start_main_~sum~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)); {594#(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:39,554 INFO L290 TraceCheckUtils]: 13: Hoare triple {594#(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; {598#(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:39,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {598#(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); {602#(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:39,556 INFO L290 TraceCheckUtils]: 15: Hoare triple {602#(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; {602#(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:39,558 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {602#(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|)))))} {587#(and (< 0 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (= |ULTIMATE.start_main_~sum~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|)))} #75#return; {609#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (= |ULTIMATE.start_main_~sum~0#1| 0) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~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:39,565 INFO L290 TraceCheckUtils]: 17: Hoare triple {609#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (<= ~ARR_SIZE~0 1) (= |ULTIMATE.start_main_~sum~0#1| 0) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~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; {613#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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|) (exists ((v_DerPreprocessor_1 Int)) (= (select (store (store (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)) v_DerPreprocessor_1) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (- 17179869184) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (* (- 1) |ULTIMATE.start_main_~index~0#1|)) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) 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| ~ARR_SIZE~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:39,569 INFO L290 TraceCheckUtils]: 18: Hoare triple {613#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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|) (exists ((v_DerPreprocessor_1 Int)) (= (select (store (store (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)) v_DerPreprocessor_1) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (- 17179869184) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (* (- 1) |ULTIMATE.start_main_~index~0#1|)) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) 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| ~ARR_SIZE~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; {613#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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|) (exists ((v_DerPreprocessor_1 Int)) (= (select (store (store (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)) v_DerPreprocessor_1) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (- 17179869184) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (* (- 1) |ULTIMATE.start_main_~index~0#1|)) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) 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| ~ARR_SIZE~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:39,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {613#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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|) (exists ((v_DerPreprocessor_1 Int)) (= (select (store (store (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)) v_DerPreprocessor_1) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (- 17179869184) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (* (- 1) |ULTIMATE.start_main_~index~0#1|)) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) 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| ~ARR_SIZE~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; {620#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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|) (exists ((v_DerPreprocessor_1 Int)) (= (select (store (store (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)) v_DerPreprocessor_1) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (- 17179869184) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (* (- 1) |ULTIMATE.start_main_~index~0#1|)) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) 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| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~count~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:39,577 INFO L290 TraceCheckUtils]: 20: Hoare triple {620#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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|) (exists ((v_DerPreprocessor_1 Int)) (= (select (store (store (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)) v_DerPreprocessor_1) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (- 17179869184) (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (* (- 1) |ULTIMATE.start_main_~index~0#1|)) (+ |ULTIMATE.start_main_~#array2~0#1.offset| (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4))) 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| ~ARR_SIZE~0))) (= |ULTIMATE.start_main_~count~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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {624#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:39,578 INFO L290 TraceCheckUtils]: 21: Hoare triple {624#(= |ULTIMATE.start_main_~sum~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; {624#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:39,579 INFO L290 TraceCheckUtils]: 22: Hoare triple {624#(= |ULTIMATE.start_main_~sum~0#1| 0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {624#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:24:39,579 INFO L290 TraceCheckUtils]: 23: Hoare triple {624#(= |ULTIMATE.start_main_~sum~0#1| 0)} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 0 == main_~sum~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {634#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:24:39,580 INFO L290 TraceCheckUtils]: 24: Hoare triple {634#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {550#false} is VALID [2022-02-20 14:24:39,580 INFO L290 TraceCheckUtils]: 25: Hoare triple {550#false} assume !false; {550#false} is VALID [2022-02-20 14:24:39,581 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:24:39,581 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:24:53,537 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:24:53,537 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [873125832] [2022-02-20 14:24:53,537 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:24:53,537 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [785342645] [2022-02-20 14:24:53,537 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [785342645] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:24:53,537 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 14:24:53,537 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-02-20 14:24:53,538 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1730938354] [2022-02-20 14:24:53,538 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 14:24:53,538 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.5714285714285714) internal successors, (22), 12 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-02-20 14:24:53,538 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:24:53,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.5714285714285714) internal successors, (22), 12 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:53,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:24:53,652 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 14:24:53,652 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:24:53,653 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 14:24:53,653 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=228, Unknown=14, NotChecked=0, Total=306 [2022-02-20 14:24:53,653 INFO L87 Difference]: Start difference. First operand 23 states and 26 transitions. Second operand has 14 states, 14 states have (on average 1.5714285714285714) internal successors, (22), 12 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:59,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:59,527 INFO L93 Difference]: Finished difference Result 44 states and 50 transitions. [2022-02-20 14:24:59,527 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 14:24:59,528 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.5714285714285714) internal successors, (22), 12 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-02-20 14:24:59,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:24:59,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.5714285714285714) internal successors, (22), 12 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:59,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 50 transitions. [2022-02-20 14:24:59,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.5714285714285714) internal successors, (22), 12 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:59,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 50 transitions. [2022-02-20 14:24:59,532 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 50 transitions. [2022-02-20 14:24:59,595 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:24:59,596 INFO L225 Difference]: With dead ends: 44 [2022-02-20 14:24:59,596 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 14:24:59,597 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 19 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 17.3s TimeCoverageRelationStatistics Valid=121, Invalid=367, Unknown=18, NotChecked=0, Total=506 [2022-02-20 14:24:59,598 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 24 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 75 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 75 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 110 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 14:24:59,598 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 178 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 75 Invalid, 0 Unknown, 110 Unchecked, 0.5s Time] [2022-02-20 14:24:59,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 14:24:59,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 36. [2022-02-20 14:24:59,612 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:24:59,613 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 36 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 14:24:59,613 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 36 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 14:24:59,613 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 36 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 14:24:59,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:59,615 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2022-02-20 14:24:59,615 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-02-20 14:24:59,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:59,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:59,616 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 40 states. [2022-02-20 14:24:59,616 INFO L87 Difference]: Start difference. First operand has 36 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 40 states. [2022-02-20 14:24:59,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:24:59,617 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2022-02-20 14:24:59,617 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-02-20 14:24:59,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:24:59,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:24:59,618 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:24:59,618 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:24:59,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 14:24:59,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 41 transitions. [2022-02-20 14:24:59,629 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 41 transitions. Word has length 26 [2022-02-20 14:24:59,629 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:24:59,629 INFO L470 AbstractCegarLoop]: Abstraction has 36 states and 41 transitions. [2022-02-20 14:24:59,629 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.5714285714285714) internal successors, (22), 12 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:24:59,630 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-02-20 14:24:59,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 14:24:59,632 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:24:59,633 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] [2022-02-20 14:24:59,657 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:24:59,834 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:24:59,834 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:24:59,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:24:59,835 INFO L85 PathProgramCache]: Analyzing trace with hash -1336652411, now seen corresponding path program 2 times [2022-02-20 14:24:59,835 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:24:59,835 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [355658926] [2022-02-20 14:24:59,839 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:24:59,839 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:24:59,877 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:24:59,877 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1518668592] [2022-02-20 14:24:59,877 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 14:24:59,877 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:24:59,878 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:24:59,879 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:24:59,915 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:24:59,954 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 14:24:59,954 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:24:59,955 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 14:24:59,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:24:59,962 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:25:00,583 INFO L290 TraceCheckUtils]: 0: Hoare triple {870#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; {870#true} is VALID [2022-02-20 14:25:00,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {870#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~mem12#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_~index~0#1, main_~temp~0#1, main_~sum~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; {870#true} is VALID [2022-02-20 14:25:00,584 INFO L272 TraceCheckUtils]: 2: Hoare triple {870#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {870#true} is VALID [2022-02-20 14:25:00,584 INFO L290 TraceCheckUtils]: 3: Hoare triple {870#true} ~cond := #in~cond; {870#true} is VALID [2022-02-20 14:25:00,584 INFO L290 TraceCheckUtils]: 4: Hoare triple {870#true} assume !(0 == ~cond); {870#true} is VALID [2022-02-20 14:25:00,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {870#true} assume true; {870#true} is VALID [2022-02-20 14:25:00,584 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {870#true} {870#true} #73#return; {870#true} is VALID [2022-02-20 14:25:00,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {870#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;havoc main_~index~0#1;havoc main_~temp~0#1;main_~sum~0#1 := 0;main_~count~0#1 := 0; {896#(<= |ULTIMATE.start_main_~count~0#1| 0)} is VALID [2022-02-20 14:25:00,585 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#(<= |ULTIMATE.start_main_~count~0#1| 0)} 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); {896#(<= |ULTIMATE.start_main_~count~0#1| 0)} is VALID [2022-02-20 14:25:00,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#(<= |ULTIMATE.start_main_~count~0#1| 0)} main_#t~post5#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {903#(<= |ULTIMATE.start_main_~count~0#1| 1)} is VALID [2022-02-20 14:25:00,586 INFO L290 TraceCheckUtils]: 10: Hoare triple {903#(<= |ULTIMATE.start_main_~count~0#1| 1)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:00,587 INFO L290 TraceCheckUtils]: 11: Hoare triple {907#(<= ~ARR_SIZE~0 1)} 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; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:00,587 INFO L272 TraceCheckUtils]: 12: Hoare triple {907#(<= ~ARR_SIZE~0 1)} call assume_abort_if_not((if main_~index~0#1 >= 0 && main_~index~0#1 < ~ARR_SIZE~0 then 1 else 0)); {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:00,590 INFO L290 TraceCheckUtils]: 13: Hoare triple {907#(<= ~ARR_SIZE~0 1)} ~cond := #in~cond; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:00,590 INFO L290 TraceCheckUtils]: 14: Hoare triple {907#(<= ~ARR_SIZE~0 1)} assume !(0 == ~cond); {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:00,591 INFO L290 TraceCheckUtils]: 15: Hoare triple {907#(<= ~ARR_SIZE~0 1)} assume true; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:00,591 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {907#(<= ~ARR_SIZE~0 1)} {907#(<= ~ARR_SIZE~0 1)} #75#return; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:00,592 INFO L290 TraceCheckUtils]: 17: Hoare triple {907#(<= ~ARR_SIZE~0 1)} 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; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:00,592 INFO L290 TraceCheckUtils]: 18: Hoare triple {907#(<= ~ARR_SIZE~0 1)} assume 0 == main_~temp~0#1; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:00,592 INFO L290 TraceCheckUtils]: 19: Hoare triple {907#(<= ~ARR_SIZE~0 1)} main_~count~0#1 := 0; {935#(and (<= 0 |ULTIMATE.start_main_~count~0#1|) (<= ~ARR_SIZE~0 1))} is VALID [2022-02-20 14:25:00,593 INFO L290 TraceCheckUtils]: 20: Hoare triple {935#(and (<= 0 |ULTIMATE.start_main_~count~0#1|) (<= ~ARR_SIZE~0 1))} 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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {935#(and (<= 0 |ULTIMATE.start_main_~count~0#1|) (<= ~ARR_SIZE~0 1))} is VALID [2022-02-20 14:25:00,594 INFO L290 TraceCheckUtils]: 21: Hoare triple {935#(and (<= 0 |ULTIMATE.start_main_~count~0#1|) (<= ~ARR_SIZE~0 1))} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {942#(and (<= 1 |ULTIMATE.start_main_~count~0#1|) (<= ~ARR_SIZE~0 1))} is VALID [2022-02-20 14:25:00,594 INFO L290 TraceCheckUtils]: 22: Hoare triple {942#(and (<= 1 |ULTIMATE.start_main_~count~0#1|) (<= ~ARR_SIZE~0 1))} 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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {871#false} is VALID [2022-02-20 14:25:00,595 INFO L290 TraceCheckUtils]: 23: Hoare triple {871#false} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {871#false} is VALID [2022-02-20 14:25:00,595 INFO L290 TraceCheckUtils]: 24: Hoare triple {871#false} assume !(main_~count~0#1 < ~ARR_SIZE~0); {871#false} is VALID [2022-02-20 14:25:00,595 INFO L290 TraceCheckUtils]: 25: Hoare triple {871#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 0 == main_~sum~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {871#false} is VALID [2022-02-20 14:25:00,595 INFO L290 TraceCheckUtils]: 26: Hoare triple {871#false} assume 0 == __VERIFIER_assert_~cond#1; {871#false} is VALID [2022-02-20 14:25:00,595 INFO L290 TraceCheckUtils]: 27: Hoare triple {871#false} assume !false; {871#false} is VALID [2022-02-20 14:25:00,595 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 8 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:25:00,596 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:25:01,010 INFO L290 TraceCheckUtils]: 27: Hoare triple {871#false} assume !false; {871#false} is VALID [2022-02-20 14:25:01,010 INFO L290 TraceCheckUtils]: 26: Hoare triple {871#false} assume 0 == __VERIFIER_assert_~cond#1; {871#false} is VALID [2022-02-20 14:25:01,011 INFO L290 TraceCheckUtils]: 25: Hoare triple {871#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 0 == main_~sum~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {871#false} is VALID [2022-02-20 14:25:01,011 INFO L290 TraceCheckUtils]: 24: Hoare triple {871#false} assume !(main_~count~0#1 < ~ARR_SIZE~0); {871#false} is VALID [2022-02-20 14:25:01,011 INFO L290 TraceCheckUtils]: 23: Hoare triple {871#false} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {871#false} is VALID [2022-02-20 14:25:01,011 INFO L290 TraceCheckUtils]: 22: Hoare triple {976#(not (< |ULTIMATE.start_main_~count~0#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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {871#false} is VALID [2022-02-20 14:25:01,013 INFO L290 TraceCheckUtils]: 21: Hoare triple {980#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~count~0#1| 1))} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {976#(not (< |ULTIMATE.start_main_~count~0#1| ~ARR_SIZE~0))} is VALID [2022-02-20 14:25:01,013 INFO L290 TraceCheckUtils]: 20: Hoare triple {980#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~count~0#1| 1))} 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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {980#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~count~0#1| 1))} is VALID [2022-02-20 14:25:01,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {907#(<= ~ARR_SIZE~0 1)} main_~count~0#1 := 0; {980#(<= ~ARR_SIZE~0 (+ |ULTIMATE.start_main_~count~0#1| 1))} is VALID [2022-02-20 14:25:01,014 INFO L290 TraceCheckUtils]: 18: Hoare triple {907#(<= ~ARR_SIZE~0 1)} assume 0 == main_~temp~0#1; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:01,014 INFO L290 TraceCheckUtils]: 17: Hoare triple {907#(<= ~ARR_SIZE~0 1)} 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; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:01,015 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {870#true} {907#(<= ~ARR_SIZE~0 1)} #75#return; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:01,015 INFO L290 TraceCheckUtils]: 15: Hoare triple {870#true} assume true; {870#true} is VALID [2022-02-20 14:25:01,015 INFO L290 TraceCheckUtils]: 14: Hoare triple {870#true} assume !(0 == ~cond); {870#true} is VALID [2022-02-20 14:25:01,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {870#true} ~cond := #in~cond; {870#true} is VALID [2022-02-20 14:25:01,016 INFO L272 TraceCheckUtils]: 12: Hoare triple {907#(<= ~ARR_SIZE~0 1)} call assume_abort_if_not((if main_~index~0#1 >= 0 && main_~index~0#1 < ~ARR_SIZE~0 then 1 else 0)); {870#true} is VALID [2022-02-20 14:25:01,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {907#(<= ~ARR_SIZE~0 1)} 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; {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:01,017 INFO L290 TraceCheckUtils]: 10: Hoare triple {903#(<= |ULTIMATE.start_main_~count~0#1| 1)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {907#(<= ~ARR_SIZE~0 1)} is VALID [2022-02-20 14:25:01,018 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#(<= |ULTIMATE.start_main_~count~0#1| 0)} main_#t~post5#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {903#(<= |ULTIMATE.start_main_~count~0#1| 1)} is VALID [2022-02-20 14:25:01,018 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#(<= |ULTIMATE.start_main_~count~0#1| 0)} 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); {896#(<= |ULTIMATE.start_main_~count~0#1| 0)} is VALID [2022-02-20 14:25:01,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {870#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;havoc main_~index~0#1;havoc main_~temp~0#1;main_~sum~0#1 := 0;main_~count~0#1 := 0; {896#(<= |ULTIMATE.start_main_~count~0#1| 0)} is VALID [2022-02-20 14:25:01,019 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {870#true} {870#true} #73#return; {870#true} is VALID [2022-02-20 14:25:01,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {870#true} assume true; {870#true} is VALID [2022-02-20 14:25:01,020 INFO L290 TraceCheckUtils]: 4: Hoare triple {870#true} assume !(0 == ~cond); {870#true} is VALID [2022-02-20 14:25:01,020 INFO L290 TraceCheckUtils]: 3: Hoare triple {870#true} ~cond := #in~cond; {870#true} is VALID [2022-02-20 14:25:01,020 INFO L272 TraceCheckUtils]: 2: Hoare triple {870#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {870#true} is VALID [2022-02-20 14:25:01,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {870#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~mem12#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_~index~0#1, main_~temp~0#1, main_~sum~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; {870#true} is VALID [2022-02-20 14:25:01,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {870#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; {870#true} is VALID [2022-02-20 14:25:01,021 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 14:25:01,021 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:25:01,021 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [355658926] [2022-02-20 14:25:01,021 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:25:01,021 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1518668592] [2022-02-20 14:25:01,021 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1518668592] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:25:01,022 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:25:01,022 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-02-20 14:25:01,022 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [706252899] [2022-02-20 14:25:01,022 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:25:01,023 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 14:25:01,023 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:25:01,023 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:01,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:25:01,055 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 14:25:01,055 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:25:01,055 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 14:25:01,056 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-02-20 14:25:01,056 INFO L87 Difference]: Start difference. First operand 36 states and 41 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:02,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:02,706 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2022-02-20 14:25:02,706 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 14:25:02,707 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 14:25:02,707 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:25:02,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:02,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 56 transitions. [2022-02-20 14:25:02,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:02,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 56 transitions. [2022-02-20 14:25:02,710 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 56 transitions. [2022-02-20 14:25:02,770 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:25:02,771 INFO L225 Difference]: With dead ends: 51 [2022-02-20 14:25:02,771 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 14:25:02,772 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2022-02-20 14:25:02,773 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 48 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 77 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 14:25:02,773 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 78 Invalid, 77 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 14:25:02,773 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 14:25:02,781 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 25. [2022-02-20 14:25:02,781 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:25:02,781 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 25 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 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:25:02,782 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 25 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 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:25:02,782 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 25 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 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:25:02,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:02,783 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-02-20 14:25:02,783 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-02-20 14:25:02,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:25:02,784 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:25:02,784 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 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) Second operand 33 states. [2022-02-20 14:25:02,784 INFO L87 Difference]: Start difference. First operand has 25 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 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) Second operand 33 states. [2022-02-20 14:25:02,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:02,785 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-02-20 14:25:02,785 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-02-20 14:25:02,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:25:02,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:25:02,786 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:25:02,786 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:25:02,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 21 states have internal predecessors, (24), 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:25:02,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-02-20 14:25:02,787 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 28 [2022-02-20 14:25:02,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:25:02,787 INFO L470 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-02-20 14:25:02,788 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:02,788 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-02-20 14:25:02,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 14:25:02,788 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:25:02,789 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] [2022-02-20 14:25:02,806 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-02-20 14:25:03,003 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:03,004 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:25:03,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:25:03,004 INFO L85 PathProgramCache]: Analyzing trace with hash -178408891, now seen corresponding path program 3 times [2022-02-20 14:25:03,004 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:25:03,004 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1476161776] [2022-02-20 14:25:03,004 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:25:03,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:25:03,040 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:25:03,040 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1002236563] [2022-02-20 14:25:03,040 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 14:25:03,040 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:25:03,040 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:25:03,058 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:03,059 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:03,129 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 14:25:03,129 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:25:03,130 INFO L263 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 14:25:03,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:25:03,140 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:25:03,735 INFO L290 TraceCheckUtils]: 0: Hoare triple {1213#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; {1213#true} is VALID [2022-02-20 14:25:03,735 INFO L290 TraceCheckUtils]: 1: Hoare triple {1213#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~mem12#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_~index~0#1, main_~temp~0#1, main_~sum~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; {1213#true} is VALID [2022-02-20 14:25:03,735 INFO L272 TraceCheckUtils]: 2: Hoare triple {1213#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {1213#true} is VALID [2022-02-20 14:25:03,735 INFO L290 TraceCheckUtils]: 3: Hoare triple {1213#true} ~cond := #in~cond; {1213#true} is VALID [2022-02-20 14:25:03,735 INFO L290 TraceCheckUtils]: 4: Hoare triple {1213#true} assume !(0 == ~cond); {1213#true} is VALID [2022-02-20 14:25:03,735 INFO L290 TraceCheckUtils]: 5: Hoare triple {1213#true} assume true; {1213#true} is VALID [2022-02-20 14:25:03,736 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1213#true} {1213#true} #73#return; {1213#true} is VALID [2022-02-20 14:25:03,736 INFO L290 TraceCheckUtils]: 7: Hoare triple {1213#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;havoc main_~index~0#1;havoc main_~temp~0#1;main_~sum~0#1 := 0;main_~count~0#1 := 0; {1239#(<= 0 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:03,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {1239#(<= 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); {1239#(<= 0 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:03,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {1239#(<= 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; {1246#(<= 1 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:03,738 INFO L290 TraceCheckUtils]: 10: Hoare triple {1246#(<= 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); {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {1250#(< 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; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,739 INFO L290 TraceCheckUtils]: 12: Hoare triple {1250#(< 1 ~ARR_SIZE~0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {1250#(< 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; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,740 INFO L272 TraceCheckUtils]: 14: Hoare triple {1250#(< 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)); {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,740 INFO L290 TraceCheckUtils]: 15: Hoare triple {1250#(< 1 ~ARR_SIZE~0)} ~cond := #in~cond; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,740 INFO L290 TraceCheckUtils]: 16: Hoare triple {1250#(< 1 ~ARR_SIZE~0)} assume !(0 == ~cond); {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,741 INFO L290 TraceCheckUtils]: 17: Hoare triple {1250#(< 1 ~ARR_SIZE~0)} assume true; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,741 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1250#(< 1 ~ARR_SIZE~0)} {1250#(< 1 ~ARR_SIZE~0)} #75#return; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,741 INFO L290 TraceCheckUtils]: 19: Hoare triple {1250#(< 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; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,742 INFO L290 TraceCheckUtils]: 20: Hoare triple {1250#(< 1 ~ARR_SIZE~0)} assume 0 == main_~temp~0#1; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:03,742 INFO L290 TraceCheckUtils]: 21: Hoare triple {1250#(< 1 ~ARR_SIZE~0)} main_~count~0#1 := 0; {1284#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 14:25:03,743 INFO L290 TraceCheckUtils]: 22: Hoare triple {1284#(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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {1284#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 0))} is VALID [2022-02-20 14:25:03,743 INFO L290 TraceCheckUtils]: 23: Hoare triple {1284#(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; {1291#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 1))} is VALID [2022-02-20 14:25:03,744 INFO L290 TraceCheckUtils]: 24: Hoare triple {1291#(and (< 1 ~ARR_SIZE~0) (<= |ULTIMATE.start_main_~count~0#1| 1))} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1214#false} is VALID [2022-02-20 14:25:03,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {1214#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 0 == main_~sum~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1214#false} is VALID [2022-02-20 14:25:03,744 INFO L290 TraceCheckUtils]: 26: Hoare triple {1214#false} assume 0 == __VERIFIER_assert_~cond#1; {1214#false} is VALID [2022-02-20 14:25:03,744 INFO L290 TraceCheckUtils]: 27: Hoare triple {1214#false} assume !false; {1214#false} is VALID [2022-02-20 14:25:03,745 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 5 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:25:03,745 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:25:04,145 INFO L290 TraceCheckUtils]: 27: Hoare triple {1214#false} assume !false; {1214#false} is VALID [2022-02-20 14:25:04,145 INFO L290 TraceCheckUtils]: 26: Hoare triple {1214#false} assume 0 == __VERIFIER_assert_~cond#1; {1214#false} is VALID [2022-02-20 14:25:04,145 INFO L290 TraceCheckUtils]: 25: Hoare triple {1214#false} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 0 == main_~sum~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1214#false} is VALID [2022-02-20 14:25:04,145 INFO L290 TraceCheckUtils]: 24: Hoare triple {1313#(< |ULTIMATE.start_main_~count~0#1| ~ARR_SIZE~0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1214#false} is VALID [2022-02-20 14:25:04,146 INFO L290 TraceCheckUtils]: 23: Hoare triple {1317#(< (+ |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; {1313#(< |ULTIMATE.start_main_~count~0#1| ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,147 INFO L290 TraceCheckUtils]: 22: Hoare triple {1317#(< (+ |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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {1317#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,147 INFO L290 TraceCheckUtils]: 21: Hoare triple {1250#(< 1 ~ARR_SIZE~0)} main_~count~0#1 := 0; {1317#(< (+ |ULTIMATE.start_main_~count~0#1| 1) ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,148 INFO L290 TraceCheckUtils]: 20: Hoare triple {1250#(< 1 ~ARR_SIZE~0)} assume 0 == main_~temp~0#1; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,148 INFO L290 TraceCheckUtils]: 19: Hoare triple {1250#(< 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; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,149 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1213#true} {1250#(< 1 ~ARR_SIZE~0)} #75#return; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,149 INFO L290 TraceCheckUtils]: 17: Hoare triple {1213#true} assume true; {1213#true} is VALID [2022-02-20 14:25:04,149 INFO L290 TraceCheckUtils]: 16: Hoare triple {1213#true} assume !(0 == ~cond); {1213#true} is VALID [2022-02-20 14:25:04,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {1213#true} ~cond := #in~cond; {1213#true} is VALID [2022-02-20 14:25:04,149 INFO L272 TraceCheckUtils]: 14: Hoare triple {1250#(< 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)); {1213#true} is VALID [2022-02-20 14:25:04,150 INFO L290 TraceCheckUtils]: 13: Hoare triple {1250#(< 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; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,150 INFO L290 TraceCheckUtils]: 12: Hoare triple {1250#(< 1 ~ARR_SIZE~0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,151 INFO L290 TraceCheckUtils]: 11: Hoare triple {1250#(< 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; {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,152 INFO L290 TraceCheckUtils]: 10: Hoare triple {1246#(<= 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); {1250#(< 1 ~ARR_SIZE~0)} is VALID [2022-02-20 14:25:04,152 INFO L290 TraceCheckUtils]: 9: Hoare triple {1239#(<= 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; {1246#(<= 1 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:04,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {1239#(<= 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); {1239#(<= 0 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:04,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {1213#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;havoc main_~index~0#1;havoc main_~temp~0#1;main_~sum~0#1 := 0;main_~count~0#1 := 0; {1239#(<= 0 |ULTIMATE.start_main_~count~0#1|)} is VALID [2022-02-20 14:25:04,154 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1213#true} {1213#true} #73#return; {1213#true} is VALID [2022-02-20 14:25:04,154 INFO L290 TraceCheckUtils]: 5: Hoare triple {1213#true} assume true; {1213#true} is VALID [2022-02-20 14:25:04,154 INFO L290 TraceCheckUtils]: 4: Hoare triple {1213#true} assume !(0 == ~cond); {1213#true} is VALID [2022-02-20 14:25:04,154 INFO L290 TraceCheckUtils]: 3: Hoare triple {1213#true} ~cond := #in~cond; {1213#true} is VALID [2022-02-20 14:25:04,154 INFO L272 TraceCheckUtils]: 2: Hoare triple {1213#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {1213#true} is VALID [2022-02-20 14:25:04,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {1213#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~mem12#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_~index~0#1, main_~temp~0#1, main_~sum~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; {1213#true} is VALID [2022-02-20 14:25:04,154 INFO L290 TraceCheckUtils]: 0: Hoare triple {1213#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; {1213#true} is VALID [2022-02-20 14:25:04,155 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 14:25:04,155 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:25:04,155 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1476161776] [2022-02-20 14:25:04,155 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:25:04,155 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1002236563] [2022-02-20 14:25:04,155 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1002236563] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 14:25:04,155 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 14:25:04,155 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-02-20 14:25:04,156 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [860219137] [2022-02-20 14:25:04,156 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 14:25:04,156 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 14:25:04,156 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:25:04,157 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:04,186 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:25:04,187 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 14:25:04,187 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:25:04,187 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 14:25:04,187 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2022-02-20 14:25:04,187 INFO L87 Difference]: Start difference. First operand 25 states and 28 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:05,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:05,751 INFO L93 Difference]: Finished difference Result 36 states and 38 transitions. [2022-02-20 14:25:05,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 14:25:05,752 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-02-20 14:25:05,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 14:25:05,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:05,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 38 transitions. [2022-02-20 14:25:05,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:05,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 38 transitions. [2022-02-20 14:25:05,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 38 transitions. [2022-02-20 14:25:05,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:25:05,792 INFO L225 Difference]: With dead ends: 36 [2022-02-20 14:25:05,792 INFO L226 Difference]: Without dead ends: 32 [2022-02-20 14:25:05,793 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=59, Invalid=123, Unknown=0, NotChecked=0, Total=182 [2022-02-20 14:25:05,793 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 32 mSDsluCounter, 43 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 14:25:05,794 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 62 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 14:25:05,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-02-20 14:25:05,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2022-02-20 14:25:05,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 14:25:05,809 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 31 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:25:05,809 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 31 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:25:05,810 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 31 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:25:05,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:05,811 INFO L93 Difference]: Finished difference Result 32 states and 34 transitions. [2022-02-20 14:25:05,811 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 34 transitions. [2022-02-20 14:25:05,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:25:05,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:25:05,811 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 32 states. [2022-02-20 14:25:05,811 INFO L87 Difference]: Start difference. First operand has 31 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 32 states. [2022-02-20 14:25:05,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 14:25:05,812 INFO L93 Difference]: Finished difference Result 32 states and 34 transitions. [2022-02-20 14:25:05,812 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 34 transitions. [2022-02-20 14:25:05,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 14:25:05,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 14:25:05,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 14:25:05,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 14:25:05,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:25:05,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 33 transitions. [2022-02-20 14:25:05,814 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 33 transitions. Word has length 28 [2022-02-20 14:25:05,814 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 14:25:05,814 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 33 transitions. [2022-02-20 14:25:05,814 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 14:25:05,815 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2022-02-20 14:25:05,815 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 14:25:05,815 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 14:25:05,815 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] [2022-02-20 14:25:05,858 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 14:25:06,031 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:25:06,031 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 14:25:06,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 14:25:06,032 INFO L85 PathProgramCache]: Analyzing trace with hash 400980999, now seen corresponding path program 4 times [2022-02-20 14:25:06,032 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 14:25:06,032 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [144358384] [2022-02-20 14:25:06,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 14:25:06,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 14:25:06,060 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 14:25:06,060 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [326082328] [2022-02-20 14:25:06,060 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 14:25:06,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 14:25:06,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 14:25:06,075 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 14:25:06,106 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 14:25:06,240 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 14:25:06,240 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 14:25:06,242 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 65 conjunts are in the unsatisfiable core [2022-02-20 14:25:06,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 14:25:06,274 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 14:25:06,388 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:06,595 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:06,604 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:06,623 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:06,653 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:06,681 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,302 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:07,309 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:07,310 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 53 [2022-02-20 14:25:11,398 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:11,437 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 193 treesize of output 180 [2022-02-20 14:25:11,477 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 175 treesize of output 165 [2022-02-20 14:25:11,528 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:11,534 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:11,541 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:11,548 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:11,607 INFO L356 Elim1Store]: treesize reduction 130, result has 0.8 percent of original size [2022-02-20 14:25:11,607 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 6 new quantified variables, introduced 4 case distinctions, treesize of input 141 treesize of output 216 [2022-02-20 14:25:11,681 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:11,927 INFO L356 Elim1Store]: treesize reduction 75, result has 25.7 percent of original size [2022-02-20 14:25:11,927 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 33 treesize of output 45 [2022-02-20 14:25:12,171 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:12,178 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:12,183 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:12,189 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 14:25:12,499 INFO L356 Elim1Store]: treesize reduction 136, result has 19.5 percent of original size [2022-02-20 14:25:12,499 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 142 treesize of output 62 [2022-02-20 14:25:17,196 INFO L356 Elim1Store]: treesize reduction 48, result has 12.7 percent of original size [2022-02-20 14:25:17,196 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 2 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 4 case distinctions, treesize of input 118 treesize of output 60 [2022-02-20 14:25:29,917 INFO L290 TraceCheckUtils]: 0: Hoare triple {1547#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; {1547#true} is VALID [2022-02-20 14:25:29,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {1547#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~mem12#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_~index~0#1, main_~temp~0#1, main_~sum~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; {1547#true} is VALID [2022-02-20 14:25:29,917 INFO L272 TraceCheckUtils]: 2: Hoare triple {1547#true} call assume_abort_if_not((if ~ARR_SIZE~0 > 0 then 1 else 0)); {1547#true} is VALID [2022-02-20 14:25:29,918 INFO L290 TraceCheckUtils]: 3: Hoare triple {1547#true} ~cond := #in~cond; {1547#true} is VALID [2022-02-20 14:25:29,918 INFO L290 TraceCheckUtils]: 4: Hoare triple {1547#true} assume !(0 == ~cond); {1547#true} is VALID [2022-02-20 14:25:29,918 INFO L290 TraceCheckUtils]: 5: Hoare triple {1547#true} assume true; {1547#true} is VALID [2022-02-20 14:25:29,918 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1547#true} {1547#true} #73#return; {1547#true} is VALID [2022-02-20 14:25:29,919 INFO L290 TraceCheckUtils]: 7: Hoare triple {1547#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;havoc main_~index~0#1;havoc main_~temp~0#1;main_~sum~0#1 := 0;main_~count~0#1 := 0; {1573#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= |ULTIMATE.start_main_~count~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:29,920 INFO L290 TraceCheckUtils]: 8: Hoare triple {1573#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= |ULTIMATE.start_main_~count~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 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); {1577#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= |ULTIMATE.start_main_~count~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_~#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:29,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {1577#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= |ULTIMATE.start_main_~count~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_~#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; {1581#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~count~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_~#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:25:29,922 INFO L290 TraceCheckUtils]: 10: Hoare triple {1581#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~count~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_~#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);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); {1585#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~count~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) (= (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_~#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|)) (= (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:25:29,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {1585#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= |ULTIMATE.start_main_~sum~0#1| 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) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (+ (- 1) |ULTIMATE.start_main_~count~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) (= (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_~#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|)) (= (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))} main_#t~post5#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post5#1;havoc main_#t~post5#1; {1589#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 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) (- 8))) 0) (= |ULTIMATE.start_main_~sum~0#1| 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) (- 8))) 0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (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_~count~0#1| (+ ~ARR_SIZE~0 1)) (= (+ (- 2) |ULTIMATE.start_main_~count~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|)) (= (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:25:29,924 INFO L290 TraceCheckUtils]: 12: Hoare triple {1589#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 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) (- 8))) 0) (= |ULTIMATE.start_main_~sum~0#1| 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) (- 8))) 0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (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_~count~0#1| (+ ~ARR_SIZE~0 1)) (= (+ (- 2) |ULTIMATE.start_main_~count~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|)) (= (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); {1593#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (not (< 2 ~ARR_SIZE~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_~#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:29,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {1593#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (not (< 2 ~ARR_SIZE~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_~#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; {1593#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (not (< 2 ~ARR_SIZE~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_~#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:29,927 INFO L272 TraceCheckUtils]: 14: Hoare triple {1593#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (not (< 2 ~ARR_SIZE~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_~#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)); {1600#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 4) 0) (= 0 (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 4)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {1600#(and (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 4) 0) (= 0 (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 4)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))) (<= ~ARR_SIZE~0 2))} ~cond := #in~cond; {1604#(and (< 1 ~ARR_SIZE~0) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 4) 0) (= 0 (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 4)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,929 INFO L290 TraceCheckUtils]: 16: Hoare triple {1604#(and (< 1 ~ARR_SIZE~0) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 4) 0) (= 0 (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 4)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))) (<= ~ARR_SIZE~0 2))} assume !(0 == ~cond); {1608#(and (not (= |assume_abort_if_not_#in~cond| 0)) (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 4) 0) (= 0 (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 4)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,929 INFO L290 TraceCheckUtils]: 17: Hoare triple {1608#(and (not (= |assume_abort_if_not_#in~cond| 0)) (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 4) 0) (= 0 (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 4)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))) (<= ~ARR_SIZE~0 2))} assume true; {1608#(and (not (= |assume_abort_if_not_#in~cond| 0)) (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 4) 0) (= 0 (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 4)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,931 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1608#(and (not (= |assume_abort_if_not_#in~cond| 0)) (< 1 ~ARR_SIZE~0) (exists ((|v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2| Int) (|v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| Int)) (and (not (= |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 4) 0) (= 0 (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 4)) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array2~0#1.base_BEFORE_CALL_2|) 0) 0) (= (select (select |#memory_int| |v_ULTIMATE.start_main_~#array1~0#1.base_BEFORE_CALL_2|) 0) 0))) (<= ~ARR_SIZE~0 2))} {1593#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (- 1) |ULTIMATE.start_main_~num~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (not (< 2 ~ARR_SIZE~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_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)))} #75#return; {1615#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< 1 ~ARR_SIZE~0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 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|)) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,939 INFO L290 TraceCheckUtils]: 19: Hoare triple {1615#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~sum~0#1| 0) (<= 0 |ULTIMATE.start_main_~index~0#1|) (< 1 ~ARR_SIZE~0) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 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|)) (<= ~ARR_SIZE~0 2))} 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; {1619#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,941 INFO L290 TraceCheckUtils]: 20: Hoare triple {1619#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (<= ~ARR_SIZE~0 2))} assume 0 == main_~temp~0#1; {1619#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,943 INFO L290 TraceCheckUtils]: 21: Hoare triple {1619#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (<= ~ARR_SIZE~0 2))} main_~count~0#1 := 0; {1626#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~count~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,945 INFO L290 TraceCheckUtils]: 22: Hoare triple {1626#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (= |ULTIMATE.start_main_~sum~0#1| 0) (< 1 ~ARR_SIZE~0) (= |ULTIMATE.start_main_~count~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (<= ~ARR_SIZE~0 2))} 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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {1630#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (< 1 ~ARR_SIZE~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))) (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)))) |ULTIMATE.start_main_~sum~0#1|) (= |ULTIMATE.start_main_~count~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,947 INFO L290 TraceCheckUtils]: 23: Hoare triple {1630#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (< 1 ~ARR_SIZE~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))) (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)))) |ULTIMATE.start_main_~sum~0#1|) (= |ULTIMATE.start_main_~count~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |ULTIMATE.start_main_~#array1~0#1.offset| 0) (not (= |ULTIMATE.start_main_~#array2~0#1.base| |ULTIMATE.start_main_~#array1~0#1.base|)) (<= ~ARR_SIZE~0 2))} main_#t~post10#1 := main_~count~0#1;main_~count~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {1634#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (= |ULTIMATE.start_main_~count~0#1| 1) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |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_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|)) |ULTIMATE.start_main_~sum~0#1|) (<= ~ARR_SIZE~0 2))} is VALID [2022-02-20 14:25:29,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {1634#(and (= |ULTIMATE.start_main_~#array2~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~index~0#1| Int)) (and (= (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_~index~0#1|) (<= 0 |ULTIMATE.start_main_~index~0#1|) (or (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) (+ |ULTIMATE.start_main_~#array1~0#1.offset| 4)) 0) (= (* 4 |ULTIMATE.start_main_~index~0#1|) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) (+ |ULTIMATE.start_main_~#array2~0#1.offset| 4)) (+ (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|)) (< |ULTIMATE.start_main_~index~0#1| ~ARR_SIZE~0) (or (= 0 (* (mod (+ 4294967295 ~ARR_SIZE~0 (* 4294967295 |ULTIMATE.start_main_~index~0#1|)) 4294967296) 4)) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) 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_~index~0#1|) 0))) (= |ULTIMATE.start_main_~count~0#1| 1) (< 1 ~ARR_SIZE~0) (= (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|) 0) (= |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_~#array2~0#1.base|) |ULTIMATE.start_main_~#array2~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~#array1~0#1.base|) |ULTIMATE.start_main_~#array1~0#1.offset|)) |ULTIMATE.start_main_~sum~0#1|) (<= ~ARR_SIZE~0 2))} 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);call main_#t~mem12#1 := read~int(main_~#array2~0#1.base, main_~#array2~0#1.offset + 4 * main_~count~0#1, 4);main_~sum~0#1 := main_~sum~0#1 + main_#t~mem11#1 + main_#t~mem12#1;havoc main_#t~mem11#1;havoc main_#t~mem12#1; {1638#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:25:29,950 INFO L290 TraceCheckUtils]: 25: Hoare triple {1638#(= |ULTIMATE.start_main_~sum~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; {1638#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:25:29,950 INFO L290 TraceCheckUtils]: 26: Hoare triple {1638#(= |ULTIMATE.start_main_~sum~0#1| 0)} assume !(main_~count~0#1 < ~ARR_SIZE~0); {1638#(= |ULTIMATE.start_main_~sum~0#1| 0)} is VALID [2022-02-20 14:25:29,950 INFO L290 TraceCheckUtils]: 27: Hoare triple {1638#(= |ULTIMATE.start_main_~sum~0#1| 0)} assume { :begin_inline___VERIFIER_assert } true;__VERIFIER_assert_#in~cond#1 := (if 0 == main_~sum~0#1 then 1 else 0);havoc __VERIFIER_assert_~cond#1;__VERIFIER_assert_~cond#1 := __VERIFIER_assert_#in~cond#1; {1648#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} is VALID [2022-02-20 14:25:29,951 INFO L290 TraceCheckUtils]: 28: Hoare triple {1648#(<= 1 |ULTIMATE.start___VERIFIER_assert_~cond#1|)} assume 0 == __VERIFIER_assert_~cond#1; {1548#false} is VALID [2022-02-20 14:25:29,951 INFO L290 TraceCheckUtils]: 29: Hoare triple {1548#false} assume !false; {1548#false} is VALID [2022-02-20 14:25:29,951 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 14:25:29,951 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 14:25:31,771 WARN L838 $PredicateComparison]: unable to prove that (or (let ((.cse5 (<= (mod (+ c_~ARR_SIZE~0 4294967295 (* 4294967295 |c_ULTIMATE.start_main_~index~0#1|)) 4294967296) 2147483647))) (and (or (forall ((v_ArrVal_263 (Array Int Int)) (v_ArrVal_265 (Array Int Int))) (= (let ((.cse0 (let ((.cse4 (+ (* 4 (mod (+ c_~ARR_SIZE~0 4294967295 (* 4294967295 |c_ULTIMATE.start_main_~index~0#1|)) 4294967296)) |c_ULTIMATE.start_main_~#array2~0#1.offset|))) (store (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#array1~0#1.base| v_ArrVal_263) |c_ULTIMATE.start_main_~#array2~0#1.base|) .cse4 (+ (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#array1~0#1.base| v_ArrVal_265) |c_ULTIMATE.start_main_~#array2~0#1.base|) .cse4) (* |c_ULTIMATE.start_main_~index~0#1| |c_ULTIMATE.start_main_~num~0#1|)))))) (let ((.cse1 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#array1~0#1.base| (let ((.cse2 (select |c_#memory_int| |c_ULTIMATE.start_main_~#array1~0#1.base|)) (.cse3 (+ |c_ULTIMATE.start_main_~#array1~0#1.offset| (* |c_ULTIMATE.start_main_~index~0#1| 4)))) (store .cse2 .cse3 (+ (* |c_ULTIMATE.start_main_~index~0#1| (* |c_ULTIMATE.start_main_~num~0#1| |c_ULTIMATE.start_main_~num~0#1|)) (select .cse2 .cse3))))) |c_ULTIMATE.start_main_~#array2~0#1.base| .cse0) |c_ULTIMATE.start_main_~#array1~0#1.base|))) (+ (select .cse0 (+ |c_ULTIMATE.start_main_~#array2~0#1.offset| 4)) |c_ULTIMATE.start_main_~sum~0#1| (select .cse0 |c_ULTIMATE.start_main_~#array2~0#1.offset|) (select .cse1 |c_ULTIMATE.start_main_~#array1~0#1.offset|) (select .cse1 (+ |c_ULTIMATE.start_main_~#array1~0#1.offset| 4))))) 0)) (not .cse5)) (or (forall ((v_ArrVal_263 (Array Int Int)) (v_ArrVal_265 (Array Int Int))) (= (let ((.cse7 (let ((.cse10 (+ (- 17179869184) (* 4 (mod (+ c_~ARR_SIZE~0 4294967295 (* 4294967295 |c_ULTIMATE.start_main_~index~0#1|)) 4294967296)) |c_ULTIMATE.start_main_~#array2~0#1.offset|))) (store (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#array1~0#1.base| v_ArrVal_263) |c_ULTIMATE.start_main_~#array2~0#1.base|) .cse10 (+ (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#array1~0#1.base| v_ArrVal_265) |c_ULTIMATE.start_main_~#array2~0#1.base|) .cse10) (* |c_ULTIMATE.start_main_~index~0#1| |c_ULTIMATE.start_main_~num~0#1|)))))) (let ((.cse6 (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#array1~0#1.base| (let ((.cse8 (select |c_#memory_int| |c_ULTIMATE.start_main_~#array1~0#1.base|)) (.cse9 (+ |c_ULTIMATE.start_main_~#array1~0#1.offset| (* |c_ULTIMATE.start_main_~index~0#1| 4)))) (store .cse8 .cse9 (+ (* |c_ULTIMATE.start_main_~index~0#1| (* |c_ULTIMATE.start_main_~num~0#1| |c_ULTIMATE.start_main_~num~0#1|)) (select .cse8 .cse9))))) |c_ULTIMATE.start_main_~#array2~0#1.base| .cse7) |c_ULTIMATE.start_main_~#array1~0#1.base|))) (+ (select .cse6 |c_ULTIMATE.start_main_~#array1~0#1.offset|) (select .cse7 |c_ULTIMATE.start_main_~#array2~0#1.offset|) |c_ULTIMATE.start_main_~sum~0#1| (select .cse6 (+ |c_ULTIMATE.start_main_~#array1~0#1.offset| 4)) (select .cse7 (+ |c_ULTIMATE.start_main_~#array2~0#1.offset| 4))))) 0)) .cse5))) (<= c_~ARR_SIZE~0 1)) is different from false [2022-02-20 14:25:43,166 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 14:25:43,166 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [144358384] [2022-02-20 14:25:43,166 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 14:25:43,166 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [326082328] [2022-02-20 14:25:43,166 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [326082328] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 14:25:43,166 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 14:25:43,167 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2022-02-20 14:25:43,167 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [44921214] [2022-02-20 14:25:43,167 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 14:25:43,167 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 16 states have internal predecessors, (26), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 30 [2022-02-20 14:25:43,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 14:25:43,167 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 16 states have internal predecessors, (26), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 14:25:43,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 14:25:43,308 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-20 14:25:43,308 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 14:25:43,308 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-20 14:25:43,308 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=426, Unknown=5, NotChecked=42, Total=552 [2022-02-20 14:25:43,309 INFO L87 Difference]: Start difference. First operand 31 states and 33 transitions. Second operand has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 16 states have internal predecessors, (26), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2)