./Ultimate.py --spec ../sv-benchmarks/c/properties/no-overflow.prp --file ../sv-benchmarks/c/recursive/MultCommutative-2.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for overflows 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/recursive/MultCommutative-2.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Overflow-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 ! overflow) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash ce29b37e076ab683230ebf17073db3b7759ea39570dd2ef64322b6d43bb636cd --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-21 03:08:11,844 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-21 03:08:11,845 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-21 03:08:11,885 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-21 03:08:11,885 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-21 03:08:11,888 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-21 03:08:11,889 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-21 03:08:11,891 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-21 03:08:11,893 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-21 03:08:11,897 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-21 03:08:11,897 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-21 03:08:11,898 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-21 03:08:11,899 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-21 03:08:11,900 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-21 03:08:11,901 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-21 03:08:11,904 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-21 03:08:11,904 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-21 03:08:11,905 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-21 03:08:11,907 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-21 03:08:11,910 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-21 03:08:11,911 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-21 03:08:11,912 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-21 03:08:11,913 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-21 03:08:11,913 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-21 03:08:11,916 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-21 03:08:11,916 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-21 03:08:11,917 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-21 03:08:11,918 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-21 03:08:11,918 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-21 03:08:11,919 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-21 03:08:11,919 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-21 03:08:11,920 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-21 03:08:11,921 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-21 03:08:11,921 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-21 03:08:11,922 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-21 03:08:11,922 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-21 03:08:11,923 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-21 03:08:11,923 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-21 03:08:11,923 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-21 03:08:11,924 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-21 03:08:11,924 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-21 03:08:11,925 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Overflow-32bit-Automizer_Default.epf [2022-02-21 03:08:11,948 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-21 03:08:11,948 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-21 03:08:11,949 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-21 03:08:11,949 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-21 03:08:11,949 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-21 03:08:11,949 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-21 03:08:11,950 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-21 03:08:11,950 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-21 03:08:11,950 INFO L138 SettingsManager]: * Use SBE=true [2022-02-21 03:08:11,950 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-21 03:08:11,951 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-21 03:08:11,951 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-21 03:08:11,951 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-21 03:08:11,951 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-21 03:08:11,952 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-21 03:08:11,952 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-21 03:08:11,952 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-21 03:08:11,952 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-21 03:08:11,952 INFO L138 SettingsManager]: * Check absence of signed integer overflows=true [2022-02-21 03:08:11,952 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-21 03:08:11,952 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-21 03:08:11,953 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-21 03:08:11,953 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-21 03:08:11,953 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-21 03:08:11,953 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-21 03:08:11,953 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-21 03:08:11,953 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-21 03:08:11,954 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-21 03:08:11,954 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-21 03:08:11,954 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-21 03:08:11,954 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-21 03:08:11,954 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-21 03:08:11,954 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-21 03:08:11,955 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 ! overflow) ) 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 -> ce29b37e076ab683230ebf17073db3b7759ea39570dd2ef64322b6d43bb636cd [2022-02-21 03:08:12,150 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-21 03:08:12,170 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-21 03:08:12,172 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-21 03:08:12,173 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-21 03:08:12,173 INFO L275 PluginConnector]: CDTParser initialized [2022-02-21 03:08:12,174 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive/MultCommutative-2.c [2022-02-21 03:08:12,223 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e829795a5/2f8c4b82387141dc9296f2fd4125d2e7/FLAGf54a50c9b [2022-02-21 03:08:12,579 INFO L306 CDTParser]: Found 1 translation units. [2022-02-21 03:08:12,579 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive/MultCommutative-2.c [2022-02-21 03:08:12,583 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e829795a5/2f8c4b82387141dc9296f2fd4125d2e7/FLAGf54a50c9b [2022-02-21 03:08:12,592 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e829795a5/2f8c4b82387141dc9296f2fd4125d2e7 [2022-02-21 03:08:12,594 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-21 03:08:12,597 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-21 03:08:12,598 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-21 03:08:12,598 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-21 03:08:12,601 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-21 03:08:12,603 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,604 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@17ff56ec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12, skipping insertion in model container [2022-02-21 03:08:12,604 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,608 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-21 03:08:12,618 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-21 03:08:12,775 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/recursive/MultCommutative-2.c[970,983] [2022-02-21 03:08:12,776 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-21 03:08:12,788 INFO L203 MainTranslator]: Completed pre-run [2022-02-21 03:08:12,806 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/recursive/MultCommutative-2.c[970,983] [2022-02-21 03:08:12,811 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-21 03:08:12,819 INFO L208 MainTranslator]: Completed translation [2022-02-21 03:08:12,821 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12 WrapperNode [2022-02-21 03:08:12,821 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-21 03:08:12,822 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-21 03:08:12,822 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-21 03:08:12,822 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-21 03:08:12,827 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,831 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,845 INFO L137 Inliner]: procedures = 13, calls = 11, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 36 [2022-02-21 03:08:12,845 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-21 03:08:12,846 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-21 03:08:12,846 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-21 03:08:12,846 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-21 03:08:12,851 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,851 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,858 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,859 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,868 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,870 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,875 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,876 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-21 03:08:12,877 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-21 03:08:12,877 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-21 03:08:12,877 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-21 03:08:12,878 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (1/1) ... [2022-02-21 03:08:12,883 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-21 03:08:12,890 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:08:12,900 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-21 03:08:12,919 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-21 03:08:12,929 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-21 03:08:12,929 INFO L130 BoogieDeclarations]: Found specification of procedure mult [2022-02-21 03:08:12,930 INFO L138 BoogieDeclarations]: Found implementation of procedure mult [2022-02-21 03:08:12,930 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-21 03:08:12,930 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-21 03:08:12,930 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-21 03:08:12,970 INFO L234 CfgBuilder]: Building ICFG [2022-02-21 03:08:12,971 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-21 03:08:13,201 INFO L275 CfgBuilder]: Performing block encoding [2022-02-21 03:08:13,210 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-21 03:08:13,210 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-21 03:08:13,212 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.02 03:08:13 BoogieIcfgContainer [2022-02-21 03:08:13,212 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-21 03:08:13,213 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-21 03:08:13,213 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-21 03:08:13,215 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-21 03:08:13,215 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 21.02 03:08:12" (1/3) ... [2022-02-21 03:08:13,216 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1f8c06ad and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.02 03:08:13, skipping insertion in model container [2022-02-21 03:08:13,216 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:08:12" (2/3) ... [2022-02-21 03:08:13,216 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1f8c06ad and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.02 03:08:13, skipping insertion in model container [2022-02-21 03:08:13,216 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.02 03:08:13" (3/3) ... [2022-02-21 03:08:13,217 INFO L111 eAbstractionObserver]: Analyzing ICFG MultCommutative-2.c [2022-02-21 03:08:13,220 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-21 03:08:13,220 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 6 error locations. [2022-02-21 03:08:13,255 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-21 03:08:13,259 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=FINITE_AUTOMATA, 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-21 03:08:13,260 INFO L340 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2022-02-21 03:08:13,275 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 22 states have (on average 1.5) internal successors, (33), 28 states have internal predecessors, (33), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-21 03:08:13,277 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-21 03:08:13,277 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:13,278 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:13,278 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:13,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:13,282 INFO L85 PathProgramCache]: Analyzing trace with hash 617794544, now seen corresponding path program 1 times [2022-02-21 03:08:13,288 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:13,289 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1313348093] [2022-02-21 03:08:13,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:13,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:13,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:13,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#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(20, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-02-21 03:08:13,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {37#true} is VALID [2022-02-21 03:08:13,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {37#true} is VALID [2022-02-21 03:08:13,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {37#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {39#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:13,454 INFO L272 TraceCheckUtils]: 4: Hoare triple {39#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {40#(<= 0 |mult_#in~m|)} is VALID [2022-02-21 03:08:13,455 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#(<= 0 |mult_#in~m|)} ~n := #in~n;~m := #in~m; {41#(<= 0 mult_~m)} is VALID [2022-02-21 03:08:13,455 INFO L290 TraceCheckUtils]: 6: Hoare triple {41#(<= 0 mult_~m)} assume ~m < 0; {41#(<= 0 mult_~m)} is VALID [2022-02-21 03:08:13,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#(<= 0 mult_~m)} assume !(-~m <= 2147483647); {38#false} is VALID [2022-02-21 03:08:13,457 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-21 03:08:13,457 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:13,457 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1313348093] [2022-02-21 03:08:13,458 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1313348093] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:08:13,459 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:08:13,459 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:08:13,460 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [45180102] [2022-02-21 03:08:13,460 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:08:13,464 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 8 [2022-02-21 03:08:13,465 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:13,467 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:13,477 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:13,477 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:08:13,478 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:13,494 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:08:13,495 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:08:13,497 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.5) internal successors, (33), 28 states have internal predecessors, (33), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 5 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:13,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:13,759 INFO L93 Difference]: Finished difference Result 81 states and 99 transitions. [2022-02-21 03:08:13,760 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:08:13,760 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 8 [2022-02-21 03:08:13,760 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:13,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:13,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-02-21 03:08:13,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:13,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-02-21 03:08:13,773 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 99 transitions. [2022-02-21 03:08:13,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:13,896 INFO L225 Difference]: With dead ends: 81 [2022-02-21 03:08:13,919 INFO L226 Difference]: Without dead ends: 43 [2022-02-21 03:08:13,923 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-21 03:08:13,925 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 42 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:13,925 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 101 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 03:08:13,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-02-21 03:08:13,959 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 38. [2022-02-21 03:08:13,959 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:13,960 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 38 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 31 states have internal predecessors, (37), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-21 03:08:13,961 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 38 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 31 states have internal predecessors, (37), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-21 03:08:13,961 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 38 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 31 states have internal predecessors, (37), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-21 03:08:13,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:13,966 INFO L93 Difference]: Finished difference Result 43 states and 50 transitions. [2022-02-21 03:08:13,966 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2022-02-21 03:08:13,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:13,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:13,967 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 31 states have internal predecessors, (37), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 43 states. [2022-02-21 03:08:13,968 INFO L87 Difference]: Start difference. First operand has 38 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 31 states have internal predecessors, (37), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 43 states. [2022-02-21 03:08:13,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:13,971 INFO L93 Difference]: Finished difference Result 43 states and 50 transitions. [2022-02-21 03:08:13,971 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2022-02-21 03:08:13,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:13,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:13,973 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:13,974 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:13,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 31 states have internal predecessors, (37), 5 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-21 03:08:13,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 46 transitions. [2022-02-21 03:08:13,986 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 46 transitions. Word has length 8 [2022-02-21 03:08:13,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:13,986 INFO L470 AbstractCegarLoop]: Abstraction has 38 states and 46 transitions. [2022-02-21 03:08:13,986 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:13,987 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 46 transitions. [2022-02-21 03:08:13,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-21 03:08:13,987 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:13,987 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:13,988 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-21 03:08:13,988 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:13,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:13,990 INFO L85 PathProgramCache]: Analyzing trace with hash 1971768732, now seen corresponding path program 1 times [2022-02-21 03:08:13,990 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:13,990 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [925877163] [2022-02-21 03:08:13,991 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:13,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:14,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:14,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {272#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(20, 2);call #Ultimate.allocInit(12, 3); {272#true} is VALID [2022-02-21 03:08:14,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {272#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {272#true} is VALID [2022-02-21 03:08:14,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {272#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {272#true} is VALID [2022-02-21 03:08:14,041 INFO L290 TraceCheckUtils]: 3: Hoare triple {272#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {274#(<= |ULTIMATE.start_main_~n~0#1| 46340)} is VALID [2022-02-21 03:08:14,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {274#(<= |ULTIMATE.start_main_~n~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {275#(<= |mult_#in~m| 46340)} is VALID [2022-02-21 03:08:14,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#(<= |mult_#in~m| 46340)} ~n := #in~n;~m := #in~m; {276#(<= mult_~m 46340)} is VALID [2022-02-21 03:08:14,042 INFO L290 TraceCheckUtils]: 6: Hoare triple {276#(<= mult_~m 46340)} assume !(~m < 0); {276#(<= mult_~m 46340)} is VALID [2022-02-21 03:08:14,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {276#(<= mult_~m 46340)} assume !(0 == ~m); {276#(<= mult_~m 46340)} is VALID [2022-02-21 03:08:14,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {276#(<= mult_~m 46340)} assume !(~m - 1 <= 2147483647); {273#false} is VALID [2022-02-21 03:08:14,052 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-21 03:08:14,053 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:14,053 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [925877163] [2022-02-21 03:08:14,053 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [925877163] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:08:14,053 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:08:14,054 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:08:14,054 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1252682582] [2022-02-21 03:08:14,054 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:08:14,055 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-21 03:08:14,055 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:14,056 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,062 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:14,062 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:08:14,062 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:14,063 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:08:14,063 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:08:14,063 INFO L87 Difference]: Start difference. First operand 38 states and 46 transitions. Second operand has 5 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:14,231 INFO L93 Difference]: Finished difference Result 59 states and 73 transitions. [2022-02-21 03:08:14,231 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:08:14,231 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-21 03:08:14,232 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:14,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-02-21 03:08:14,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-02-21 03:08:14,236 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2022-02-21 03:08:14,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:14,285 INFO L225 Difference]: With dead ends: 59 [2022-02-21 03:08:14,285 INFO L226 Difference]: Without dead ends: 57 [2022-02-21 03:08:14,285 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-21 03:08:14,286 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 37 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 69 SdHoareTripleChecker+Invalid, 55 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:14,286 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 69 Invalid, 55 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:08:14,287 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-02-21 03:08:14,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 52. [2022-02-21 03:08:14,319 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:14,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 52 states, 38 states have (on average 1.368421052631579) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:08:14,322 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 52 states, 38 states have (on average 1.368421052631579) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:08:14,323 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 52 states, 38 states have (on average 1.368421052631579) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:08:14,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:14,326 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2022-02-21 03:08:14,327 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-02-21 03:08:14,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:14,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:14,328 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 38 states have (on average 1.368421052631579) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 57 states. [2022-02-21 03:08:14,329 INFO L87 Difference]: Start difference. First operand has 52 states, 38 states have (on average 1.368421052631579) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 57 states. [2022-02-21 03:08:14,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:14,331 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2022-02-21 03:08:14,331 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-02-21 03:08:14,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:14,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:14,332 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:14,332 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:14,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 38 states have (on average 1.368421052631579) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:08:14,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 65 transitions. [2022-02-21 03:08:14,335 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 65 transitions. Word has length 9 [2022-02-21 03:08:14,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:14,335 INFO L470 AbstractCegarLoop]: Abstraction has 52 states and 65 transitions. [2022-02-21 03:08:14,335 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 4 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,335 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 65 transitions. [2022-02-21 03:08:14,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-21 03:08:14,336 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:14,336 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:14,336 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-21 03:08:14,336 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:14,337 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:14,337 INFO L85 PathProgramCache]: Analyzing trace with hash -323955617, now seen corresponding path program 1 times [2022-02-21 03:08:14,337 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:14,337 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [151379314] [2022-02-21 03:08:14,338 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:14,338 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:14,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:14,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {526#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(20, 2);call #Ultimate.allocInit(12, 3); {526#true} is VALID [2022-02-21 03:08:14,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {526#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {526#true} is VALID [2022-02-21 03:08:14,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {526#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {526#true} is VALID [2022-02-21 03:08:14,379 INFO L290 TraceCheckUtils]: 3: Hoare triple {526#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {526#true} is VALID [2022-02-21 03:08:14,380 INFO L272 TraceCheckUtils]: 4: Hoare triple {526#true} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {526#true} is VALID [2022-02-21 03:08:14,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {526#true} ~n := #in~n;~m := #in~m; {526#true} is VALID [2022-02-21 03:08:14,380 INFO L290 TraceCheckUtils]: 6: Hoare triple {526#true} assume !(~m < 0); {528#(<= 0 mult_~m)} is VALID [2022-02-21 03:08:14,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {528#(<= 0 mult_~m)} assume !(0 == ~m); {528#(<= 0 mult_~m)} is VALID [2022-02-21 03:08:14,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {528#(<= 0 mult_~m)} assume ~m - 1 <= 2147483647; {528#(<= 0 mult_~m)} is VALID [2022-02-21 03:08:14,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {528#(<= 0 mult_~m)} assume ~m - 1 >= -2147483648; {528#(<= 0 mult_~m)} is VALID [2022-02-21 03:08:14,382 INFO L272 TraceCheckUtils]: 10: Hoare triple {528#(<= 0 mult_~m)} call #t~ret5 := mult(~n, ~m - 1); {529#(<= 0 (+ |mult_#in~m| 1))} is VALID [2022-02-21 03:08:14,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {529#(<= 0 (+ |mult_#in~m| 1))} ~n := #in~n;~m := #in~m; {530#(<= 0 (+ mult_~m 1))} is VALID [2022-02-21 03:08:14,383 INFO L290 TraceCheckUtils]: 12: Hoare triple {530#(<= 0 (+ mult_~m 1))} assume ~m < 0; {530#(<= 0 (+ mult_~m 1))} is VALID [2022-02-21 03:08:14,383 INFO L290 TraceCheckUtils]: 13: Hoare triple {530#(<= 0 (+ mult_~m 1))} assume !(-~m <= 2147483647); {527#false} is VALID [2022-02-21 03:08:14,383 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:08:14,384 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:14,384 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [151379314] [2022-02-21 03:08:14,384 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [151379314] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:08:14,384 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:08:14,384 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:08:14,384 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [724864789] [2022-02-21 03:08:14,384 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:08:14,385 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-21 03:08:14,385 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:14,385 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:14,394 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:08:14,394 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:14,395 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:08:14,395 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:08:14,395 INFO L87 Difference]: Start difference. First operand 52 states and 65 transitions. Second operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:14,542 INFO L93 Difference]: Finished difference Result 77 states and 97 transitions. [2022-02-21 03:08:14,542 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:08:14,542 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-21 03:08:14,542 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:14,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-02-21 03:08:14,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-02-21 03:08:14,546 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2022-02-21 03:08:14,589 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:14,593 INFO L225 Difference]: With dead ends: 77 [2022-02-21 03:08:14,593 INFO L226 Difference]: Without dead ends: 76 [2022-02-21 03:08:14,594 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 2 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-21 03:08:14,603 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 33 mSDsluCounter, 43 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:14,604 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 72 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:08:14,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-02-21 03:08:14,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 67. [2022-02-21 03:08:14,635 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:14,635 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 67 states, 50 states have (on average 1.36) internal successors, (68), 54 states have internal predecessors, (68), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-21 03:08:14,636 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 67 states, 50 states have (on average 1.36) internal successors, (68), 54 states have internal predecessors, (68), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-21 03:08:14,636 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 67 states, 50 states have (on average 1.36) internal successors, (68), 54 states have internal predecessors, (68), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-21 03:08:14,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:14,642 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-02-21 03:08:14,642 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 95 transitions. [2022-02-21 03:08:14,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:14,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:14,644 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 50 states have (on average 1.36) internal successors, (68), 54 states have internal predecessors, (68), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 76 states. [2022-02-21 03:08:14,644 INFO L87 Difference]: Start difference. First operand has 67 states, 50 states have (on average 1.36) internal successors, (68), 54 states have internal predecessors, (68), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 76 states. [2022-02-21 03:08:14,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:14,651 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-02-21 03:08:14,651 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 95 transitions. [2022-02-21 03:08:14,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:14,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:14,652 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:14,652 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:14,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 50 states have (on average 1.36) internal successors, (68), 54 states have internal predecessors, (68), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-21 03:08:14,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 85 transitions. [2022-02-21 03:08:14,654 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 85 transitions. Word has length 14 [2022-02-21 03:08:14,654 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:14,654 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 85 transitions. [2022-02-21 03:08:14,655 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:14,655 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 85 transitions. [2022-02-21 03:08:14,655 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-21 03:08:14,655 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:14,655 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:14,656 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-21 03:08:14,656 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:14,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:14,657 INFO L85 PathProgramCache]: Analyzing trace with hash 1630133947, now seen corresponding path program 1 times [2022-02-21 03:08:14,657 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:14,657 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [948478955] [2022-02-21 03:08:14,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:14,657 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:14,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:14,724 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-21 03:08:14,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:14,731 INFO L290 TraceCheckUtils]: 0: Hoare triple {860#true} ~n := #in~n;~m := #in~m; {860#true} is VALID [2022-02-21 03:08:14,731 INFO L290 TraceCheckUtils]: 1: Hoare triple {860#true} assume !(~m < 0); {860#true} is VALID [2022-02-21 03:08:14,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {860#true} assume 0 == ~m;#res := 0; {860#true} is VALID [2022-02-21 03:08:14,731 INFO L290 TraceCheckUtils]: 3: Hoare triple {860#true} assume true; {860#true} is VALID [2022-02-21 03:08:14,732 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {860#true} {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} #58#return; {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:14,732 INFO L290 TraceCheckUtils]: 0: Hoare triple {860#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(20, 2);call #Ultimate.allocInit(12, 3); {860#true} is VALID [2022-02-21 03:08:14,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {860#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {860#true} is VALID [2022-02-21 03:08:14,732 INFO L290 TraceCheckUtils]: 2: Hoare triple {860#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:14,733 INFO L290 TraceCheckUtils]: 3: Hoare triple {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:14,733 INFO L272 TraceCheckUtils]: 4: Hoare triple {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {860#true} is VALID [2022-02-21 03:08:14,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {860#true} ~n := #in~n;~m := #in~m; {860#true} is VALID [2022-02-21 03:08:14,733 INFO L290 TraceCheckUtils]: 6: Hoare triple {860#true} assume !(~m < 0); {860#true} is VALID [2022-02-21 03:08:14,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {860#true} assume 0 == ~m;#res := 0; {860#true} is VALID [2022-02-21 03:08:14,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {860#true} assume true; {860#true} is VALID [2022-02-21 03:08:14,734 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {860#true} {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} #58#return; {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:14,734 INFO L290 TraceCheckUtils]: 10: Hoare triple {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:14,735 INFO L272 TraceCheckUtils]: 11: Hoare triple {862#(<= 0 |ULTIMATE.start_main_~m~0#1|)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {868#(<= 0 |mult_#in~m|)} is VALID [2022-02-21 03:08:14,735 INFO L290 TraceCheckUtils]: 12: Hoare triple {868#(<= 0 |mult_#in~m|)} ~n := #in~n;~m := #in~m; {869#(<= 0 mult_~m)} is VALID [2022-02-21 03:08:14,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {869#(<= 0 mult_~m)} assume ~m < 0; {869#(<= 0 mult_~m)} is VALID [2022-02-21 03:08:14,736 INFO L290 TraceCheckUtils]: 14: Hoare triple {869#(<= 0 mult_~m)} assume !(-~m <= 2147483647); {861#false} is VALID [2022-02-21 03:08:14,736 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:08:14,736 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:14,736 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [948478955] [2022-02-21 03:08:14,736 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [948478955] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:08:14,737 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:08:14,737 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:08:14,737 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1898209644] [2022-02-21 03:08:14,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:08:14,737 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-02-21 03:08:14,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:14,738 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:14,747 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-21 03:08:14,747 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:08:14,747 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:14,748 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:08:14,748 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:08:14,748 INFO L87 Difference]: Start difference. First operand 67 states and 85 transitions. Second operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:14,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:14,875 INFO L93 Difference]: Finished difference Result 121 states and 155 transitions. [2022-02-21 03:08:14,875 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:08:14,875 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-02-21 03:08:14,875 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:14,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:14,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2022-02-21 03:08:14,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:14,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2022-02-21 03:08:14,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2022-02-21 03:08:14,943 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:14,944 INFO L225 Difference]: With dead ends: 121 [2022-02-21 03:08:14,944 INFO L226 Difference]: Without dead ends: 85 [2022-02-21 03:08:14,945 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-21 03:08:14,945 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 25 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:14,946 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 93 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:08:14,946 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-02-21 03:08:14,971 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 76. [2022-02-21 03:08:14,971 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:14,972 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 76 states, 58 states have (on average 1.3448275862068966) internal successors, (78), 61 states have internal predecessors, (78), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-21 03:08:14,972 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 76 states, 58 states have (on average 1.3448275862068966) internal successors, (78), 61 states have internal predecessors, (78), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-21 03:08:14,972 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 76 states, 58 states have (on average 1.3448275862068966) internal successors, (78), 61 states have internal predecessors, (78), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-21 03:08:14,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:14,976 INFO L93 Difference]: Finished difference Result 85 states and 108 transitions. [2022-02-21 03:08:14,976 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 108 transitions. [2022-02-21 03:08:14,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:14,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:14,977 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 58 states have (on average 1.3448275862068966) internal successors, (78), 61 states have internal predecessors, (78), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 85 states. [2022-02-21 03:08:14,977 INFO L87 Difference]: Start difference. First operand has 76 states, 58 states have (on average 1.3448275862068966) internal successors, (78), 61 states have internal predecessors, (78), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 85 states. [2022-02-21 03:08:14,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:14,980 INFO L93 Difference]: Finished difference Result 85 states and 108 transitions. [2022-02-21 03:08:14,980 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 108 transitions. [2022-02-21 03:08:14,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:14,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:14,981 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:14,981 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:14,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 58 states have (on average 1.3448275862068966) internal successors, (78), 61 states have internal predecessors, (78), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-21 03:08:14,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-02-21 03:08:14,984 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 15 [2022-02-21 03:08:14,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:14,984 INFO L470 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-02-21 03:08:14,984 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:14,984 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-02-21 03:08:14,985 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-21 03:08:14,985 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:14,985 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:14,986 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-21 03:08:14,999 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:15,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:15,000 INFO L85 PathProgramCache]: Analyzing trace with hash -1005448143, now seen corresponding path program 1 times [2022-02-21 03:08:15,000 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:15,000 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [585608081] [2022-02-21 03:08:15,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:15,000 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:15,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:15,051 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-21 03:08:15,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:15,057 INFO L290 TraceCheckUtils]: 0: Hoare triple {1278#true} ~n := #in~n;~m := #in~m; {1278#true} is VALID [2022-02-21 03:08:15,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {1278#true} assume !(~m < 0); {1278#true} is VALID [2022-02-21 03:08:15,057 INFO L290 TraceCheckUtils]: 2: Hoare triple {1278#true} assume 0 == ~m;#res := 0; {1278#true} is VALID [2022-02-21 03:08:15,057 INFO L290 TraceCheckUtils]: 3: Hoare triple {1278#true} assume true; {1278#true} is VALID [2022-02-21 03:08:15,057 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1278#true} {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} #58#return; {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:15,058 INFO L290 TraceCheckUtils]: 0: Hoare triple {1278#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(20, 2);call #Ultimate.allocInit(12, 3); {1278#true} is VALID [2022-02-21 03:08:15,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {1278#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {1278#true} is VALID [2022-02-21 03:08:15,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {1278#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:15,058 INFO L290 TraceCheckUtils]: 3: Hoare triple {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:15,059 INFO L272 TraceCheckUtils]: 4: Hoare triple {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {1278#true} is VALID [2022-02-21 03:08:15,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {1278#true} ~n := #in~n;~m := #in~m; {1278#true} is VALID [2022-02-21 03:08:15,059 INFO L290 TraceCheckUtils]: 6: Hoare triple {1278#true} assume !(~m < 0); {1278#true} is VALID [2022-02-21 03:08:15,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {1278#true} assume 0 == ~m;#res := 0; {1278#true} is VALID [2022-02-21 03:08:15,059 INFO L290 TraceCheckUtils]: 8: Hoare triple {1278#true} assume true; {1278#true} is VALID [2022-02-21 03:08:15,060 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1278#true} {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} #58#return; {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:15,060 INFO L290 TraceCheckUtils]: 10: Hoare triple {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:15,060 INFO L272 TraceCheckUtils]: 11: Hoare triple {1280#(<= |ULTIMATE.start_main_~m~0#1| 46340)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {1286#(<= |mult_#in~m| 46340)} is VALID [2022-02-21 03:08:15,061 INFO L290 TraceCheckUtils]: 12: Hoare triple {1286#(<= |mult_#in~m| 46340)} ~n := #in~n;~m := #in~m; {1287#(<= mult_~m 46340)} is VALID [2022-02-21 03:08:15,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {1287#(<= mult_~m 46340)} assume !(~m < 0); {1287#(<= mult_~m 46340)} is VALID [2022-02-21 03:08:15,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {1287#(<= mult_~m 46340)} assume !(0 == ~m); {1287#(<= mult_~m 46340)} is VALID [2022-02-21 03:08:15,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {1287#(<= mult_~m 46340)} assume !(~m - 1 <= 2147483647); {1279#false} is VALID [2022-02-21 03:08:15,062 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:08:15,062 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:15,062 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [585608081] [2022-02-21 03:08:15,062 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [585608081] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:08:15,062 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:08:15,062 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:08:15,062 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [563555049] [2022-02-21 03:08:15,062 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:08:15,063 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2022-02-21 03:08:15,063 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:15,063 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:15,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:15,080 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:08:15,081 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:15,081 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:08:15,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:08:15,081 INFO L87 Difference]: Start difference. First operand 76 states and 97 transitions. Second operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:15,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:15,230 INFO L93 Difference]: Finished difference Result 102 states and 131 transitions. [2022-02-21 03:08:15,231 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:08:15,231 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 16 [2022-02-21 03:08:15,231 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:15,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:15,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-21 03:08:15,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:15,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-21 03:08:15,233 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-21 03:08:15,272 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-21 03:08:15,273 INFO L225 Difference]: With dead ends: 102 [2022-02-21 03:08:15,273 INFO L226 Difference]: Without dead ends: 101 [2022-02-21 03:08:15,274 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-21 03:08:15,274 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 28 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:15,275 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 106 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:08:15,275 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-02-21 03:08:15,318 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 91. [2022-02-21 03:08:15,318 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:15,319 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 91 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 73 states have internal predecessors, (93), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-21 03:08:15,319 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 91 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 73 states have internal predecessors, (93), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-21 03:08:15,319 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 91 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 73 states have internal predecessors, (93), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-21 03:08:15,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:15,322 INFO L93 Difference]: Finished difference Result 101 states and 129 transitions. [2022-02-21 03:08:15,322 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 129 transitions. [2022-02-21 03:08:15,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:15,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:15,323 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 73 states have internal predecessors, (93), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 101 states. [2022-02-21 03:08:15,323 INFO L87 Difference]: Start difference. First operand has 91 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 73 states have internal predecessors, (93), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 101 states. [2022-02-21 03:08:15,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:15,326 INFO L93 Difference]: Finished difference Result 101 states and 129 transitions. [2022-02-21 03:08:15,326 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 129 transitions. [2022-02-21 03:08:15,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:15,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:15,326 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:15,326 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:15,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 70 states have (on average 1.3285714285714285) internal successors, (93), 73 states have internal predecessors, (93), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-21 03:08:15,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 116 transitions. [2022-02-21 03:08:15,329 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 116 transitions. Word has length 16 [2022-02-21 03:08:15,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:15,329 INFO L470 AbstractCegarLoop]: Abstraction has 91 states and 116 transitions. [2022-02-21 03:08:15,329 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.25) internal successors, (13), 4 states have internal predecessors, (13), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:08:15,329 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 116 transitions. [2022-02-21 03:08:15,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-21 03:08:15,329 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:15,329 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:15,330 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-21 03:08:15,330 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:15,330 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:15,330 INFO L85 PathProgramCache]: Analyzing trace with hash -385899469, now seen corresponding path program 1 times [2022-02-21 03:08:15,330 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:15,330 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1124951601] [2022-02-21 03:08:15,330 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:15,330 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:15,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:15,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {1724#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(20, 2);call #Ultimate.allocInit(12, 3); {1724#true} is VALID [2022-02-21 03:08:15,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {1724#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {1724#true} is VALID [2022-02-21 03:08:15,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {1724#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {1724#true} is VALID [2022-02-21 03:08:15,384 INFO L290 TraceCheckUtils]: 3: Hoare triple {1724#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {1724#true} is VALID [2022-02-21 03:08:15,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {1724#true} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {1724#true} is VALID [2022-02-21 03:08:15,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {1724#true} ~n := #in~n;~m := #in~m; {1724#true} is VALID [2022-02-21 03:08:15,385 INFO L290 TraceCheckUtils]: 6: Hoare triple {1724#true} assume !(~m < 0); {1726#(< 0 (+ mult_~m 1))} is VALID [2022-02-21 03:08:15,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {1726#(< 0 (+ mult_~m 1))} assume !(0 == ~m); {1727#(not (<= mult_~m 0))} is VALID [2022-02-21 03:08:15,386 INFO L290 TraceCheckUtils]: 8: Hoare triple {1727#(not (<= mult_~m 0))} assume ~m - 1 <= 2147483647; {1727#(not (<= mult_~m 0))} is VALID [2022-02-21 03:08:15,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {1727#(not (<= mult_~m 0))} assume ~m - 1 >= -2147483648; {1727#(not (<= mult_~m 0))} is VALID [2022-02-21 03:08:15,387 INFO L272 TraceCheckUtils]: 10: Hoare triple {1727#(not (<= mult_~m 0))} call #t~ret5 := mult(~n, ~m - 1); {1728#(<= 0 |mult_#in~m|)} is VALID [2022-02-21 03:08:15,387 INFO L290 TraceCheckUtils]: 11: Hoare triple {1728#(<= 0 |mult_#in~m|)} ~n := #in~n;~m := #in~m; {1726#(< 0 (+ mult_~m 1))} is VALID [2022-02-21 03:08:15,387 INFO L290 TraceCheckUtils]: 12: Hoare triple {1726#(< 0 (+ mult_~m 1))} assume ~m < 0; {1725#false} is VALID [2022-02-21 03:08:15,388 INFO L290 TraceCheckUtils]: 13: Hoare triple {1725#false} assume -~m <= 2147483647; {1725#false} is VALID [2022-02-21 03:08:15,388 INFO L290 TraceCheckUtils]: 14: Hoare triple {1725#false} assume -~m >= -2147483648; {1725#false} is VALID [2022-02-21 03:08:15,388 INFO L272 TraceCheckUtils]: 15: Hoare triple {1725#false} call #t~ret4 := mult(~n, -~m); {1725#false} is VALID [2022-02-21 03:08:15,388 INFO L290 TraceCheckUtils]: 16: Hoare triple {1725#false} ~n := #in~n;~m := #in~m; {1725#false} is VALID [2022-02-21 03:08:15,388 INFO L290 TraceCheckUtils]: 17: Hoare triple {1725#false} assume ~m < 0; {1725#false} is VALID [2022-02-21 03:08:15,388 INFO L290 TraceCheckUtils]: 18: Hoare triple {1725#false} assume !(-~m <= 2147483647); {1725#false} is VALID [2022-02-21 03:08:15,389 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:08:15,389 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:15,389 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1124951601] [2022-02-21 03:08:15,389 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1124951601] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:08:15,389 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:08:15,389 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-21 03:08:15,390 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1960071003] [2022-02-21 03:08:15,390 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:08:15,390 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-21 03:08:15,390 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:15,390 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:15,399 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-21 03:08:15,399 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:08:15,400 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:15,400 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:08:15,400 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:08:15,400 INFO L87 Difference]: Start difference. First operand 91 states and 116 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:15,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:15,508 INFO L93 Difference]: Finished difference Result 133 states and 169 transitions. [2022-02-21 03:08:15,508 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-21 03:08:15,508 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-21 03:08:15,508 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:15,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:15,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2022-02-21 03:08:15,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:15,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2022-02-21 03:08:15,511 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 69 transitions. [2022-02-21 03:08:15,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:15,554 INFO L225 Difference]: With dead ends: 133 [2022-02-21 03:08:15,554 INFO L226 Difference]: Without dead ends: 59 [2022-02-21 03:08:15,554 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-21 03:08:15,555 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 23 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 32 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 32 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:15,556 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 64 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 32 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:08:15,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-21 03:08:15,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 51. [2022-02-21 03:08:15,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:15,577 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 51 states, 40 states have (on average 1.25) internal successors, (50), 41 states have internal predecessors, (50), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-21 03:08:15,579 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 51 states, 40 states have (on average 1.25) internal successors, (50), 41 states have internal predecessors, (50), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-21 03:08:15,580 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 51 states, 40 states have (on average 1.25) internal successors, (50), 41 states have internal predecessors, (50), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-21 03:08:15,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:15,581 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-02-21 03:08:15,581 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-02-21 03:08:15,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:15,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:15,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 40 states have (on average 1.25) internal successors, (50), 41 states have internal predecessors, (50), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 59 states. [2022-02-21 03:08:15,582 INFO L87 Difference]: Start difference. First operand has 51 states, 40 states have (on average 1.25) internal successors, (50), 41 states have internal predecessors, (50), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 59 states. [2022-02-21 03:08:15,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:15,585 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-02-21 03:08:15,585 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-02-21 03:08:15,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:15,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:15,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:15,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:15,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 40 states have (on average 1.25) internal successors, (50), 41 states have internal predecessors, (50), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-21 03:08:15,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 61 transitions. [2022-02-21 03:08:15,587 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 61 transitions. Word has length 19 [2022-02-21 03:08:15,588 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:15,588 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 61 transitions. [2022-02-21 03:08:15,588 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:08:15,588 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 61 transitions. [2022-02-21 03:08:15,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-21 03:08:15,588 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:15,589 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:15,589 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-21 03:08:15,589 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting multErr4ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:15,589 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:15,589 INFO L85 PathProgramCache]: Analyzing trace with hash -773947711, now seen corresponding path program 1 times [2022-02-21 03:08:15,589 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:15,590 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [725640931] [2022-02-21 03:08:15,590 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:15,590 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:15,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:15,658 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-21 03:08:15,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:15,687 INFO L290 TraceCheckUtils]: 0: Hoare triple {2071#true} ~n := #in~n;~m := #in~m; {2071#true} is VALID [2022-02-21 03:08:15,687 INFO L290 TraceCheckUtils]: 1: Hoare triple {2071#true} assume !(~m < 0); {2071#true} is VALID [2022-02-21 03:08:15,687 INFO L290 TraceCheckUtils]: 2: Hoare triple {2071#true} assume 0 == ~m;#res := 0; {2082#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:15,688 INFO L290 TraceCheckUtils]: 3: Hoare triple {2082#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {2082#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:15,689 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2082#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {2075#(<= mult_~n 46340)} #56#return; {2081#(and (= |mult_#t~ret5| 0) (<= mult_~n 46340))} is VALID [2022-02-21 03:08:15,689 INFO L290 TraceCheckUtils]: 0: Hoare triple {2071#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(20, 2);call #Ultimate.allocInit(12, 3); {2071#true} is VALID [2022-02-21 03:08:15,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {2071#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {2071#true} is VALID [2022-02-21 03:08:15,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {2071#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2073#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:15,690 INFO L290 TraceCheckUtils]: 3: Hoare triple {2073#(<= |ULTIMATE.start_main_~m~0#1| 46340)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {2073#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:15,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {2073#(<= |ULTIMATE.start_main_~m~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {2074#(<= |mult_#in~n| 46340)} is VALID [2022-02-21 03:08:15,691 INFO L290 TraceCheckUtils]: 5: Hoare triple {2074#(<= |mult_#in~n| 46340)} ~n := #in~n;~m := #in~m; {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,691 INFO L290 TraceCheckUtils]: 6: Hoare triple {2075#(<= mult_~n 46340)} assume !(~m < 0); {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,691 INFO L290 TraceCheckUtils]: 7: Hoare triple {2075#(<= mult_~n 46340)} assume !(0 == ~m); {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {2075#(<= mult_~n 46340)} assume ~m - 1 <= 2147483647; {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {2075#(<= mult_~n 46340)} assume ~m - 1 >= -2147483648; {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,692 INFO L272 TraceCheckUtils]: 10: Hoare triple {2075#(<= mult_~n 46340)} call #t~ret5 := mult(~n, ~m - 1); {2071#true} is VALID [2022-02-21 03:08:15,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {2071#true} ~n := #in~n;~m := #in~m; {2071#true} is VALID [2022-02-21 03:08:15,692 INFO L290 TraceCheckUtils]: 12: Hoare triple {2071#true} assume !(~m < 0); {2071#true} is VALID [2022-02-21 03:08:15,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {2071#true} assume 0 == ~m;#res := 0; {2082#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:15,693 INFO L290 TraceCheckUtils]: 14: Hoare triple {2082#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {2082#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:15,694 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2082#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {2075#(<= mult_~n 46340)} #56#return; {2081#(and (= |mult_#t~ret5| 0) (<= mult_~n 46340))} is VALID [2022-02-21 03:08:15,694 INFO L290 TraceCheckUtils]: 16: Hoare triple {2081#(and (= |mult_#t~ret5| 0) (<= mult_~n 46340))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {2081#(and (= |mult_#t~ret5| 0) (<= mult_~n 46340))} is VALID [2022-02-21 03:08:15,695 INFO L290 TraceCheckUtils]: 17: Hoare triple {2081#(and (= |mult_#t~ret5| 0) (<= mult_~n 46340))} assume !(~n + #t~ret5 <= 2147483647); {2072#false} is VALID [2022-02-21 03:08:15,695 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:08:15,695 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:15,695 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [725640931] [2022-02-21 03:08:15,695 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [725640931] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:08:15,695 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [187246975] [2022-02-21 03:08:15,696 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:15,696 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:15,697 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:08:15,698 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-21 03:08:15,702 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-21 03:08:15,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:15,730 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-21 03:08:15,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:15,755 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:08:15,908 INFO L290 TraceCheckUtils]: 0: Hoare triple {2071#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(20, 2);call #Ultimate.allocInit(12, 3); {2071#true} is VALID [2022-02-21 03:08:15,908 INFO L290 TraceCheckUtils]: 1: Hoare triple {2071#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {2071#true} is VALID [2022-02-21 03:08:15,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {2071#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2073#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:15,909 INFO L290 TraceCheckUtils]: 3: Hoare triple {2073#(<= |ULTIMATE.start_main_~m~0#1| 46340)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {2073#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:15,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {2073#(<= |ULTIMATE.start_main_~m~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {2074#(<= |mult_#in~n| 46340)} is VALID [2022-02-21 03:08:15,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {2074#(<= |mult_#in~n| 46340)} ~n := #in~n;~m := #in~m; {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,910 INFO L290 TraceCheckUtils]: 6: Hoare triple {2075#(<= mult_~n 46340)} assume !(~m < 0); {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,911 INFO L290 TraceCheckUtils]: 7: Hoare triple {2075#(<= mult_~n 46340)} assume !(0 == ~m); {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {2075#(<= mult_~n 46340)} assume ~m - 1 <= 2147483647; {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {2075#(<= mult_~n 46340)} assume ~m - 1 >= -2147483648; {2075#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:15,911 INFO L272 TraceCheckUtils]: 10: Hoare triple {2075#(<= mult_~n 46340)} call #t~ret5 := mult(~n, ~m - 1); {2071#true} is VALID [2022-02-21 03:08:15,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {2071#true} ~n := #in~n;~m := #in~m; {2071#true} is VALID [2022-02-21 03:08:15,912 INFO L290 TraceCheckUtils]: 12: Hoare triple {2071#true} assume !(~m < 0); {2071#true} is VALID [2022-02-21 03:08:15,912 INFO L290 TraceCheckUtils]: 13: Hoare triple {2071#true} assume 0 == ~m;#res := 0; {2125#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:15,912 INFO L290 TraceCheckUtils]: 14: Hoare triple {2125#(<= |mult_#res| 0)} assume true; {2125#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:15,913 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2125#(<= |mult_#res| 0)} {2075#(<= mult_~n 46340)} #56#return; {2132#(and (<= |mult_#t~ret5| 0) (<= mult_~n 46340))} is VALID [2022-02-21 03:08:15,914 INFO L290 TraceCheckUtils]: 16: Hoare triple {2132#(and (<= |mult_#t~ret5| 0) (<= mult_~n 46340))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {2132#(and (<= |mult_#t~ret5| 0) (<= mult_~n 46340))} is VALID [2022-02-21 03:08:15,914 INFO L290 TraceCheckUtils]: 17: Hoare triple {2132#(and (<= |mult_#t~ret5| 0) (<= mult_~n 46340))} assume !(~n + #t~ret5 <= 2147483647); {2072#false} is VALID [2022-02-21 03:08:15,914 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:08:15,914 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:08:16,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {2139#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume !(~n + #t~ret5 <= 2147483647); {2072#false} is VALID [2022-02-21 03:08:16,098 INFO L290 TraceCheckUtils]: 16: Hoare triple {2139#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {2139#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:08:16,099 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2125#(<= |mult_#res| 0)} {2146#(<= mult_~n 2147483647)} #56#return; {2139#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:08:16,099 INFO L290 TraceCheckUtils]: 14: Hoare triple {2125#(<= |mult_#res| 0)} assume true; {2125#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:16,099 INFO L290 TraceCheckUtils]: 13: Hoare triple {2071#true} assume 0 == ~m;#res := 0; {2125#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:16,099 INFO L290 TraceCheckUtils]: 12: Hoare triple {2071#true} assume !(~m < 0); {2071#true} is VALID [2022-02-21 03:08:16,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {2071#true} ~n := #in~n;~m := #in~m; {2071#true} is VALID [2022-02-21 03:08:16,099 INFO L272 TraceCheckUtils]: 10: Hoare triple {2146#(<= mult_~n 2147483647)} call #t~ret5 := mult(~n, ~m - 1); {2071#true} is VALID [2022-02-21 03:08:16,100 INFO L290 TraceCheckUtils]: 9: Hoare triple {2146#(<= mult_~n 2147483647)} assume ~m - 1 >= -2147483648; {2146#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:16,100 INFO L290 TraceCheckUtils]: 8: Hoare triple {2146#(<= mult_~n 2147483647)} assume ~m - 1 <= 2147483647; {2146#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:16,100 INFO L290 TraceCheckUtils]: 7: Hoare triple {2146#(<= mult_~n 2147483647)} assume !(0 == ~m); {2146#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:16,101 INFO L290 TraceCheckUtils]: 6: Hoare triple {2146#(<= mult_~n 2147483647)} assume !(~m < 0); {2146#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:16,101 INFO L290 TraceCheckUtils]: 5: Hoare triple {2177#(<= |mult_#in~n| 2147483647)} ~n := #in~n;~m := #in~m; {2146#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:16,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {2181#(<= |ULTIMATE.start_main_~m~0#1| 2147483647)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {2177#(<= |mult_#in~n| 2147483647)} is VALID [2022-02-21 03:08:16,103 INFO L290 TraceCheckUtils]: 3: Hoare triple {2181#(<= |ULTIMATE.start_main_~m~0#1| 2147483647)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {2181#(<= |ULTIMATE.start_main_~m~0#1| 2147483647)} is VALID [2022-02-21 03:08:16,104 INFO L290 TraceCheckUtils]: 2: Hoare triple {2071#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2181#(<= |ULTIMATE.start_main_~m~0#1| 2147483647)} is VALID [2022-02-21 03:08:16,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {2071#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {2071#true} is VALID [2022-02-21 03:08:16,104 INFO L290 TraceCheckUtils]: 0: Hoare triple {2071#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(20, 2);call #Ultimate.allocInit(12, 3); {2071#true} is VALID [2022-02-21 03:08:16,104 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:08:16,105 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [187246975] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:08:16,105 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:08:16,105 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2022-02-21 03:08:16,105 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2003043185] [2022-02-21 03:08:16,105 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:08:16,105 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 18 [2022-02-21 03:08:16,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:16,106 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:16,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:16,126 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-21 03:08:16,126 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:16,126 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-21 03:08:16,126 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-02-21 03:08:16,127 INFO L87 Difference]: Start difference. First operand 51 states and 61 transitions. Second operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:16,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:16,378 INFO L93 Difference]: Finished difference Result 67 states and 79 transitions. [2022-02-21 03:08:16,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-21 03:08:16,378 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 18 [2022-02-21 03:08:16,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:16,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:16,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 46 transitions. [2022-02-21 03:08:16,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:16,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 46 transitions. [2022-02-21 03:08:16,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 46 transitions. [2022-02-21 03:08:16,414 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-21 03:08:16,415 INFO L225 Difference]: With dead ends: 67 [2022-02-21 03:08:16,415 INFO L226 Difference]: Without dead ends: 66 [2022-02-21 03:08:16,416 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 31 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=68, Invalid=204, Unknown=0, NotChecked=0, Total=272 [2022-02-21 03:08:16,417 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 30 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:16,417 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 113 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 78 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 03:08:16,417 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-02-21 03:08:16,443 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 57. [2022-02-21 03:08:16,444 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:16,444 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 57 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 45 states have internal predecessors, (55), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:16,444 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 57 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 45 states have internal predecessors, (55), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:16,444 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 57 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 45 states have internal predecessors, (55), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:16,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:16,446 INFO L93 Difference]: Finished difference Result 66 states and 77 transitions. [2022-02-21 03:08:16,446 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 77 transitions. [2022-02-21 03:08:16,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:16,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:16,447 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 45 states have internal predecessors, (55), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Second operand 66 states. [2022-02-21 03:08:16,447 INFO L87 Difference]: Start difference. First operand has 57 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 45 states have internal predecessors, (55), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Second operand 66 states. [2022-02-21 03:08:16,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:16,449 INFO L93 Difference]: Finished difference Result 66 states and 77 transitions. [2022-02-21 03:08:16,449 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 77 transitions. [2022-02-21 03:08:16,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:16,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:16,449 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:16,449 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:16,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 45 states have internal predecessors, (55), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:16,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 68 transitions. [2022-02-21 03:08:16,451 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 68 transitions. Word has length 18 [2022-02-21 03:08:16,451 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:16,451 INFO L470 AbstractCegarLoop]: Abstraction has 57 states and 68 transitions. [2022-02-21 03:08:16,452 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:16,452 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 68 transitions. [2022-02-21 03:08:16,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-21 03:08:16,452 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:16,452 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:16,471 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-21 03:08:16,664 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:16,664 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting multErr5ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:16,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:16,664 INFO L85 PathProgramCache]: Analyzing trace with hash 1777424789, now seen corresponding path program 1 times [2022-02-21 03:08:16,664 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:16,665 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [929324683] [2022-02-21 03:08:16,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:16,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:16,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:16,718 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-21 03:08:16,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:16,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {2478#true} ~n := #in~n;~m := #in~m; {2478#true} is VALID [2022-02-21 03:08:16,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {2478#true} assume !(~m < 0); {2478#true} is VALID [2022-02-21 03:08:16,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {2478#true} assume 0 == ~m;#res := 0; {2489#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:16,748 INFO L290 TraceCheckUtils]: 3: Hoare triple {2489#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {2489#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:16,749 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2489#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {2482#(<= 0 mult_~n)} #56#return; {2488#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:16,749 INFO L290 TraceCheckUtils]: 0: Hoare triple {2478#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(20, 2);call #Ultimate.allocInit(12, 3); {2478#true} is VALID [2022-02-21 03:08:16,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {2478#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {2478#true} is VALID [2022-02-21 03:08:16,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {2478#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:16,750 INFO L290 TraceCheckUtils]: 3: Hoare triple {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:16,751 INFO L272 TraceCheckUtils]: 4: Hoare triple {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {2481#(<= 0 |mult_#in~n|)} is VALID [2022-02-21 03:08:16,751 INFO L290 TraceCheckUtils]: 5: Hoare triple {2481#(<= 0 |mult_#in~n|)} ~n := #in~n;~m := #in~m; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,751 INFO L290 TraceCheckUtils]: 6: Hoare triple {2482#(<= 0 mult_~n)} assume !(~m < 0); {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,752 INFO L290 TraceCheckUtils]: 7: Hoare triple {2482#(<= 0 mult_~n)} assume !(0 == ~m); {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,752 INFO L290 TraceCheckUtils]: 8: Hoare triple {2482#(<= 0 mult_~n)} assume ~m - 1 <= 2147483647; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {2482#(<= 0 mult_~n)} assume ~m - 1 >= -2147483648; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,752 INFO L272 TraceCheckUtils]: 10: Hoare triple {2482#(<= 0 mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {2478#true} is VALID [2022-02-21 03:08:16,752 INFO L290 TraceCheckUtils]: 11: Hoare triple {2478#true} ~n := #in~n;~m := #in~m; {2478#true} is VALID [2022-02-21 03:08:16,753 INFO L290 TraceCheckUtils]: 12: Hoare triple {2478#true} assume !(~m < 0); {2478#true} is VALID [2022-02-21 03:08:16,753 INFO L290 TraceCheckUtils]: 13: Hoare triple {2478#true} assume 0 == ~m;#res := 0; {2489#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:16,753 INFO L290 TraceCheckUtils]: 14: Hoare triple {2489#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {2489#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:16,755 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2489#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {2482#(<= 0 mult_~n)} #56#return; {2488#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:16,756 INFO L290 TraceCheckUtils]: 16: Hoare triple {2488#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {2488#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:16,756 INFO L290 TraceCheckUtils]: 17: Hoare triple {2488#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} assume ~n + #t~ret5 <= 2147483647; {2488#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:16,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {2488#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} assume !(~n + #t~ret5 >= -2147483648); {2479#false} is VALID [2022-02-21 03:08:16,757 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:08:16,757 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:16,757 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [929324683] [2022-02-21 03:08:16,757 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [929324683] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:08:16,757 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1508028471] [2022-02-21 03:08:16,757 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:16,758 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:16,758 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:08:16,759 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-21 03:08:16,766 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-21 03:08:16,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:16,792 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-21 03:08:16,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:16,802 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:08:16,892 INFO L290 TraceCheckUtils]: 0: Hoare triple {2478#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(20, 2);call #Ultimate.allocInit(12, 3); {2478#true} is VALID [2022-02-21 03:08:16,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {2478#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {2478#true} is VALID [2022-02-21 03:08:16,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {2478#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:16,893 INFO L290 TraceCheckUtils]: 3: Hoare triple {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:16,894 INFO L272 TraceCheckUtils]: 4: Hoare triple {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {2481#(<= 0 |mult_#in~n|)} is VALID [2022-02-21 03:08:16,895 INFO L290 TraceCheckUtils]: 5: Hoare triple {2481#(<= 0 |mult_#in~n|)} ~n := #in~n;~m := #in~m; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,895 INFO L290 TraceCheckUtils]: 6: Hoare triple {2482#(<= 0 mult_~n)} assume !(~m < 0); {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,895 INFO L290 TraceCheckUtils]: 7: Hoare triple {2482#(<= 0 mult_~n)} assume !(0 == ~m); {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,896 INFO L290 TraceCheckUtils]: 8: Hoare triple {2482#(<= 0 mult_~n)} assume ~m - 1 <= 2147483647; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {2482#(<= 0 mult_~n)} assume ~m - 1 >= -2147483648; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,897 INFO L272 TraceCheckUtils]: 10: Hoare triple {2482#(<= 0 mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {2478#true} is VALID [2022-02-21 03:08:16,897 INFO L290 TraceCheckUtils]: 11: Hoare triple {2478#true} ~n := #in~n;~m := #in~m; {2478#true} is VALID [2022-02-21 03:08:16,897 INFO L290 TraceCheckUtils]: 12: Hoare triple {2478#true} assume !(~m < 0); {2478#true} is VALID [2022-02-21 03:08:16,897 INFO L290 TraceCheckUtils]: 13: Hoare triple {2478#true} assume 0 == ~m;#res := 0; {2478#true} is VALID [2022-02-21 03:08:16,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {2478#true} assume true; {2478#true} is VALID [2022-02-21 03:08:16,899 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2478#true} {2482#(<= 0 mult_~n)} #56#return; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,900 INFO L290 TraceCheckUtils]: 16: Hoare triple {2482#(<= 0 mult_~n)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {2541#(and (<= 0 (+ |mult_#t~ret5| 2147483648)) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:16,900 INFO L290 TraceCheckUtils]: 17: Hoare triple {2541#(and (<= 0 (+ |mult_#t~ret5| 2147483648)) (<= 0 mult_~n))} assume ~n + #t~ret5 <= 2147483647; {2541#(and (<= 0 (+ |mult_#t~ret5| 2147483648)) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:16,901 INFO L290 TraceCheckUtils]: 18: Hoare triple {2541#(and (<= 0 (+ |mult_#t~ret5| 2147483648)) (<= 0 mult_~n))} assume !(~n + #t~ret5 >= -2147483648); {2479#false} is VALID [2022-02-21 03:08:16,901 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:08:16,901 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:08:16,996 INFO L290 TraceCheckUtils]: 18: Hoare triple {2548#(<= 0 (+ |mult_#t~ret5| mult_~n 2147483648))} assume !(~n + #t~ret5 >= -2147483648); {2479#false} is VALID [2022-02-21 03:08:16,996 INFO L290 TraceCheckUtils]: 17: Hoare triple {2548#(<= 0 (+ |mult_#t~ret5| mult_~n 2147483648))} assume ~n + #t~ret5 <= 2147483647; {2548#(<= 0 (+ |mult_#t~ret5| mult_~n 2147483648))} is VALID [2022-02-21 03:08:16,997 INFO L290 TraceCheckUtils]: 16: Hoare triple {2482#(<= 0 mult_~n)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {2548#(<= 0 (+ |mult_#t~ret5| mult_~n 2147483648))} is VALID [2022-02-21 03:08:16,997 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2478#true} {2482#(<= 0 mult_~n)} #56#return; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:16,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {2478#true} assume true; {2478#true} is VALID [2022-02-21 03:08:16,997 INFO L290 TraceCheckUtils]: 13: Hoare triple {2478#true} assume 0 == ~m;#res := 0; {2478#true} is VALID [2022-02-21 03:08:16,998 INFO L290 TraceCheckUtils]: 12: Hoare triple {2478#true} assume !(~m < 0); {2478#true} is VALID [2022-02-21 03:08:16,998 INFO L290 TraceCheckUtils]: 11: Hoare triple {2478#true} ~n := #in~n;~m := #in~m; {2478#true} is VALID [2022-02-21 03:08:16,998 INFO L272 TraceCheckUtils]: 10: Hoare triple {2482#(<= 0 mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {2478#true} is VALID [2022-02-21 03:08:17,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {2482#(<= 0 mult_~n)} assume ~m - 1 >= -2147483648; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:17,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {2482#(<= 0 mult_~n)} assume ~m - 1 <= 2147483647; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:17,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {2482#(<= 0 mult_~n)} assume !(0 == ~m); {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:17,002 INFO L290 TraceCheckUtils]: 6: Hoare triple {2482#(<= 0 mult_~n)} assume !(~m < 0); {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:17,003 INFO L290 TraceCheckUtils]: 5: Hoare triple {2481#(<= 0 |mult_#in~n|)} ~n := #in~n;~m := #in~m; {2482#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:17,007 INFO L272 TraceCheckUtils]: 4: Hoare triple {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {2481#(<= 0 |mult_#in~n|)} is VALID [2022-02-21 03:08:17,008 INFO L290 TraceCheckUtils]: 3: Hoare triple {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:17,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {2478#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2480#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:08:17,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {2478#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {2478#true} is VALID [2022-02-21 03:08:17,008 INFO L290 TraceCheckUtils]: 0: Hoare triple {2478#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(20, 2);call #Ultimate.allocInit(12, 3); {2478#true} is VALID [2022-02-21 03:08:17,008 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:08:17,009 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1508028471] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:08:17,009 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:08:17,009 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 8 [2022-02-21 03:08:17,009 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821680447] [2022-02-21 03:08:17,009 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:08:17,010 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-21 03:08:17,010 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:17,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:08:17,030 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:17,030 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-21 03:08:17,030 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:17,030 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-21 03:08:17,030 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-02-21 03:08:17,031 INFO L87 Difference]: Start difference. First operand 57 states and 68 transitions. Second operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:08:17,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:17,232 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-02-21 03:08:17,232 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-21 03:08:17,232 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-21 03:08:17,233 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:17,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:08:17,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 45 transitions. [2022-02-21 03:08:17,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:08:17,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 45 transitions. [2022-02-21 03:08:17,234 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 45 transitions. [2022-02-21 03:08:17,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:17,265 INFO L225 Difference]: With dead ends: 65 [2022-02-21 03:08:17,265 INFO L226 Difference]: Without dead ends: 64 [2022-02-21 03:08:17,265 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2022-02-21 03:08:17,265 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 22 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:17,266 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 89 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 03:08:17,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-21 03:08:17,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2022-02-21 03:08:17,300 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:17,300 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 57 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:17,301 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 57 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:17,301 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 57 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:17,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:17,303 INFO L93 Difference]: Finished difference Result 64 states and 73 transitions. [2022-02-21 03:08:17,303 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 73 transitions. [2022-02-21 03:08:17,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:17,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:17,305 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Second operand 64 states. [2022-02-21 03:08:17,305 INFO L87 Difference]: Start difference. First operand has 57 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Second operand 64 states. [2022-02-21 03:08:17,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:17,307 INFO L93 Difference]: Finished difference Result 64 states and 73 transitions. [2022-02-21 03:08:17,307 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 73 transitions. [2022-02-21 03:08:17,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:17,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:17,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:17,307 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:17,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:17,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 66 transitions. [2022-02-21 03:08:17,308 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 66 transitions. Word has length 19 [2022-02-21 03:08:17,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:17,309 INFO L470 AbstractCegarLoop]: Abstraction has 57 states and 66 transitions. [2022-02-21 03:08:17,309 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:08:17,309 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 66 transitions. [2022-02-21 03:08:17,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-21 03:08:17,310 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:17,310 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:17,327 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-02-21 03:08:17,523 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,SelfDestructingSolverStorable7 [2022-02-21 03:08:17,523 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting multErr4ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:17,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:17,524 INFO L85 PathProgramCache]: Analyzing trace with hash -211759156, now seen corresponding path program 1 times [2022-02-21 03:08:17,524 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:17,524 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [811551247] [2022-02-21 03:08:17,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:17,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:17,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:17,576 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-21 03:08:17,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:17,592 INFO L290 TraceCheckUtils]: 0: Hoare triple {2881#true} ~n := #in~n;~m := #in~m; {2897#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:17,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {2897#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {2897#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:17,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {2897#(= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {2898#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:17,593 INFO L290 TraceCheckUtils]: 3: Hoare triple {2898#(<= |mult_#in~m| 0)} assume true; {2898#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:17,594 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2898#(<= |mult_#in~m| 0)} {2881#true} #58#return; {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} is VALID [2022-02-21 03:08:17,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-21 03:08:17,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:17,613 INFO L290 TraceCheckUtils]: 0: Hoare triple {2881#true} ~n := #in~n;~m := #in~m; {2881#true} is VALID [2022-02-21 03:08:17,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {2881#true} assume !(~m < 0); {2881#true} is VALID [2022-02-21 03:08:17,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {2881#true} assume 0 == ~m;#res := 0; {2899#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:17,614 INFO L290 TraceCheckUtils]: 3: Hoare triple {2899#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {2899#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:17,615 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2899#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {2890#(<= mult_~n 0)} #56#return; {2896#(and (<= mult_~n 0) (= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:17,615 INFO L290 TraceCheckUtils]: 0: Hoare triple {2881#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(20, 2);call #Ultimate.allocInit(12, 3); {2881#true} is VALID [2022-02-21 03:08:17,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {2881#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {2881#true} is VALID [2022-02-21 03:08:17,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {2881#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2881#true} is VALID [2022-02-21 03:08:17,615 INFO L290 TraceCheckUtils]: 3: Hoare triple {2881#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {2881#true} is VALID [2022-02-21 03:08:17,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {2881#true} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {2881#true} is VALID [2022-02-21 03:08:17,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {2881#true} ~n := #in~n;~m := #in~m; {2897#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:17,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {2897#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {2897#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:17,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {2897#(= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {2898#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:17,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {2898#(<= |mult_#in~m| 0)} assume true; {2898#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:17,618 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2898#(<= |mult_#in~m| 0)} {2881#true} #58#return; {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} is VALID [2022-02-21 03:08:17,618 INFO L290 TraceCheckUtils]: 10: Hoare triple {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} is VALID [2022-02-21 03:08:17,618 INFO L272 TraceCheckUtils]: 11: Hoare triple {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {2889#(<= |mult_#in~n| 0)} is VALID [2022-02-21 03:08:17,619 INFO L290 TraceCheckUtils]: 12: Hoare triple {2889#(<= |mult_#in~n| 0)} ~n := #in~n;~m := #in~m; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {2890#(<= mult_~n 0)} assume !(~m < 0); {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {2890#(<= mult_~n 0)} assume !(0 == ~m); {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {2890#(<= mult_~n 0)} assume ~m - 1 <= 2147483647; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,620 INFO L290 TraceCheckUtils]: 16: Hoare triple {2890#(<= mult_~n 0)} assume ~m - 1 >= -2147483648; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,620 INFO L272 TraceCheckUtils]: 17: Hoare triple {2890#(<= mult_~n 0)} call #t~ret5 := mult(~n, ~m - 1); {2881#true} is VALID [2022-02-21 03:08:17,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {2881#true} ~n := #in~n;~m := #in~m; {2881#true} is VALID [2022-02-21 03:08:17,620 INFO L290 TraceCheckUtils]: 19: Hoare triple {2881#true} assume !(~m < 0); {2881#true} is VALID [2022-02-21 03:08:17,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {2881#true} assume 0 == ~m;#res := 0; {2899#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:17,627 INFO L290 TraceCheckUtils]: 21: Hoare triple {2899#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {2899#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:17,628 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2899#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {2890#(<= mult_~n 0)} #56#return; {2896#(and (<= mult_~n 0) (= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:17,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {2896#(and (<= mult_~n 0) (= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {2896#(and (<= mult_~n 0) (= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:17,643 INFO L290 TraceCheckUtils]: 24: Hoare triple {2896#(and (<= mult_~n 0) (= |mult_#t~ret5| 0))} assume !(~n + #t~ret5 <= 2147483647); {2882#false} is VALID [2022-02-21 03:08:17,643 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:08:17,643 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:17,643 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [811551247] [2022-02-21 03:08:17,643 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [811551247] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:08:17,643 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [739182022] [2022-02-21 03:08:17,644 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:17,644 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:17,644 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:08:17,645 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-21 03:08:17,646 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-21 03:08:17,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:17,687 INFO L263 TraceCheckSpWp]: Trace formula consists of 92 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-21 03:08:17,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:17,694 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:08:17,809 INFO L290 TraceCheckUtils]: 0: Hoare triple {2881#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(20, 2);call #Ultimate.allocInit(12, 3); {2881#true} is VALID [2022-02-21 03:08:17,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {2881#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {2881#true} is VALID [2022-02-21 03:08:17,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {2881#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2881#true} is VALID [2022-02-21 03:08:17,810 INFO L290 TraceCheckUtils]: 3: Hoare triple {2881#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {2881#true} is VALID [2022-02-21 03:08:17,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {2881#true} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {2881#true} is VALID [2022-02-21 03:08:17,812 INFO L290 TraceCheckUtils]: 5: Hoare triple {2881#true} ~n := #in~n;~m := #in~m; {2918#(<= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:17,812 INFO L290 TraceCheckUtils]: 6: Hoare triple {2918#(<= |mult_#in~m| mult_~m)} assume !(~m < 0); {2918#(<= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:17,813 INFO L290 TraceCheckUtils]: 7: Hoare triple {2918#(<= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {2898#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:17,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {2898#(<= |mult_#in~m| 0)} assume true; {2898#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:17,816 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2898#(<= |mult_#in~m| 0)} {2881#true} #58#return; {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} is VALID [2022-02-21 03:08:17,816 INFO L290 TraceCheckUtils]: 10: Hoare triple {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} is VALID [2022-02-21 03:08:17,817 INFO L272 TraceCheckUtils]: 11: Hoare triple {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {2889#(<= |mult_#in~n| 0)} is VALID [2022-02-21 03:08:17,817 INFO L290 TraceCheckUtils]: 12: Hoare triple {2889#(<= |mult_#in~n| 0)} ~n := #in~n;~m := #in~m; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {2890#(<= mult_~n 0)} assume !(~m < 0); {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,818 INFO L290 TraceCheckUtils]: 14: Hoare triple {2890#(<= mult_~n 0)} assume !(0 == ~m); {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,818 INFO L290 TraceCheckUtils]: 15: Hoare triple {2890#(<= mult_~n 0)} assume ~m - 1 <= 2147483647; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,818 INFO L290 TraceCheckUtils]: 16: Hoare triple {2890#(<= mult_~n 0)} assume ~m - 1 >= -2147483648; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,818 INFO L272 TraceCheckUtils]: 17: Hoare triple {2890#(<= mult_~n 0)} call #t~ret5 := mult(~n, ~m - 1); {2881#true} is VALID [2022-02-21 03:08:17,818 INFO L290 TraceCheckUtils]: 18: Hoare triple {2881#true} ~n := #in~n;~m := #in~m; {2881#true} is VALID [2022-02-21 03:08:17,819 INFO L290 TraceCheckUtils]: 19: Hoare triple {2881#true} assume !(~m < 0); {2881#true} is VALID [2022-02-21 03:08:17,819 INFO L290 TraceCheckUtils]: 20: Hoare triple {2881#true} assume 0 == ~m;#res := 0; {2881#true} is VALID [2022-02-21 03:08:17,819 INFO L290 TraceCheckUtils]: 21: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-02-21 03:08:17,819 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2881#true} {2890#(<= mult_~n 0)} #56#return; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:17,820 INFO L290 TraceCheckUtils]: 23: Hoare triple {2890#(<= mult_~n 0)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {2973#(and (<= mult_~n 0) (<= |mult_#t~ret5| 2147483647))} is VALID [2022-02-21 03:08:17,820 INFO L290 TraceCheckUtils]: 24: Hoare triple {2973#(and (<= mult_~n 0) (<= |mult_#t~ret5| 2147483647))} assume !(~n + #t~ret5 <= 2147483647); {2882#false} is VALID [2022-02-21 03:08:17,820 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:08:17,820 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:08:18,042 INFO L290 TraceCheckUtils]: 24: Hoare triple {2977#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume !(~n + #t~ret5 <= 2147483647); {2882#false} is VALID [2022-02-21 03:08:18,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {2890#(<= mult_~n 0)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {2977#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:08:18,044 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2881#true} {2890#(<= mult_~n 0)} #56#return; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:18,044 INFO L290 TraceCheckUtils]: 21: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-02-21 03:08:18,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {2881#true} assume 0 == ~m;#res := 0; {2881#true} is VALID [2022-02-21 03:08:18,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {2881#true} assume !(~m < 0); {2881#true} is VALID [2022-02-21 03:08:18,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {2881#true} ~n := #in~n;~m := #in~m; {2881#true} is VALID [2022-02-21 03:08:18,044 INFO L272 TraceCheckUtils]: 17: Hoare triple {2890#(<= mult_~n 0)} call #t~ret5 := mult(~n, ~m - 1); {2881#true} is VALID [2022-02-21 03:08:18,044 INFO L290 TraceCheckUtils]: 16: Hoare triple {2890#(<= mult_~n 0)} assume ~m - 1 >= -2147483648; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:18,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {2890#(<= mult_~n 0)} assume ~m - 1 <= 2147483647; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:18,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {2890#(<= mult_~n 0)} assume !(0 == ~m); {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:18,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {2890#(<= mult_~n 0)} assume !(~m < 0); {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:18,046 INFO L290 TraceCheckUtils]: 12: Hoare triple {2889#(<= |mult_#in~n| 0)} ~n := #in~n;~m := #in~m; {2890#(<= mult_~n 0)} is VALID [2022-02-21 03:08:18,047 INFO L272 TraceCheckUtils]: 11: Hoare triple {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {2889#(<= |mult_#in~n| 0)} is VALID [2022-02-21 03:08:18,047 INFO L290 TraceCheckUtils]: 10: Hoare triple {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} is VALID [2022-02-21 03:08:18,048 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2898#(<= |mult_#in~m| 0)} {2881#true} #58#return; {2888#(<= |ULTIMATE.start_main_~n~0#1| 0)} is VALID [2022-02-21 03:08:18,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {2898#(<= |mult_#in~m| 0)} assume true; {2898#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:18,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {3032#(or (not (<= mult_~m 0)) (<= |mult_#in~m| 0))} assume 0 == ~m;#res := 0; {2898#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:18,048 INFO L290 TraceCheckUtils]: 6: Hoare triple {3032#(or (not (<= mult_~m 0)) (<= |mult_#in~m| 0))} assume !(~m < 0); {3032#(or (not (<= mult_~m 0)) (<= |mult_#in~m| 0))} is VALID [2022-02-21 03:08:18,049 INFO L290 TraceCheckUtils]: 5: Hoare triple {2881#true} ~n := #in~n;~m := #in~m; {3032#(or (not (<= mult_~m 0)) (<= |mult_#in~m| 0))} is VALID [2022-02-21 03:08:18,049 INFO L272 TraceCheckUtils]: 4: Hoare triple {2881#true} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {2881#true} is VALID [2022-02-21 03:08:18,049 INFO L290 TraceCheckUtils]: 3: Hoare triple {2881#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {2881#true} is VALID [2022-02-21 03:08:18,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {2881#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2881#true} is VALID [2022-02-21 03:08:18,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {2881#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {2881#true} is VALID [2022-02-21 03:08:18,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {2881#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(20, 2);call #Ultimate.allocInit(12, 3); {2881#true} is VALID [2022-02-21 03:08:18,049 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:08:18,049 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [739182022] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:08:18,050 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:08:18,050 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 12 [2022-02-21 03:08:18,050 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1639125238] [2022-02-21 03:08:18,050 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:08:18,050 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 25 [2022-02-21 03:08:18,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:18,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:18,077 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-21 03:08:18,077 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-21 03:08:18,077 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:18,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-21 03:08:18,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-02-21 03:08:18,078 INFO L87 Difference]: Start difference. First operand 57 states and 66 transitions. Second operand has 13 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:18,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:18,516 INFO L93 Difference]: Finished difference Result 94 states and 110 transitions. [2022-02-21 03:08:18,516 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-21 03:08:18,516 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 25 [2022-02-21 03:08:18,516 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:18,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:18,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 48 transitions. [2022-02-21 03:08:18,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:18,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 48 transitions. [2022-02-21 03:08:18,518 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 48 transitions. [2022-02-21 03:08:18,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:18,553 INFO L225 Difference]: With dead ends: 94 [2022-02-21 03:08:18,553 INFO L226 Difference]: Without dead ends: 93 [2022-02-21 03:08:18,554 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=87, Invalid=255, Unknown=0, NotChecked=0, Total=342 [2022-02-21 03:08:18,554 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 48 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 163 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 163 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:18,554 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 89 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 163 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 03:08:18,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-02-21 03:08:18,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 80. [2022-02-21 03:08:18,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:18,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 80 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 63 states have internal predecessors, (73), 9 states have call successors, (9), 6 states have call predecessors, (9), 6 states have return successors, (10), 10 states have call predecessors, (10), 7 states have call successors, (10) [2022-02-21 03:08:18,601 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 80 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 63 states have internal predecessors, (73), 9 states have call successors, (9), 6 states have call predecessors, (9), 6 states have return successors, (10), 10 states have call predecessors, (10), 7 states have call successors, (10) [2022-02-21 03:08:18,602 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 80 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 63 states have internal predecessors, (73), 9 states have call successors, (9), 6 states have call predecessors, (9), 6 states have return successors, (10), 10 states have call predecessors, (10), 7 states have call successors, (10) [2022-02-21 03:08:18,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:18,604 INFO L93 Difference]: Finished difference Result 93 states and 106 transitions. [2022-02-21 03:08:18,604 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 106 transitions. [2022-02-21 03:08:18,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:18,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:18,605 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 63 states have internal predecessors, (73), 9 states have call successors, (9), 6 states have call predecessors, (9), 6 states have return successors, (10), 10 states have call predecessors, (10), 7 states have call successors, (10) Second operand 93 states. [2022-02-21 03:08:18,605 INFO L87 Difference]: Start difference. First operand has 80 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 63 states have internal predecessors, (73), 9 states have call successors, (9), 6 states have call predecessors, (9), 6 states have return successors, (10), 10 states have call predecessors, (10), 7 states have call successors, (10) Second operand 93 states. [2022-02-21 03:08:18,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:18,607 INFO L93 Difference]: Finished difference Result 93 states and 106 transitions. [2022-02-21 03:08:18,607 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 106 transitions. [2022-02-21 03:08:18,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:18,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:18,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:18,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:18,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 63 states have internal predecessors, (73), 9 states have call successors, (9), 6 states have call predecessors, (9), 6 states have return successors, (10), 10 states have call predecessors, (10), 7 states have call successors, (10) [2022-02-21 03:08:18,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 92 transitions. [2022-02-21 03:08:18,608 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 92 transitions. Word has length 25 [2022-02-21 03:08:18,608 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:18,609 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 92 transitions. [2022-02-21 03:08:18,609 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.6666666666666665) internal successors, (32), 12 states have internal predecessors, (32), 3 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:18,609 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 92 transitions. [2022-02-21 03:08:18,609 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-21 03:08:18,609 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:18,609 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:18,627 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-21 03:08:18,823 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:18,823 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting multErr5ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:18,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:18,824 INFO L85 PathProgramCache]: Analyzing trace with hash 2025400810, now seen corresponding path program 1 times [2022-02-21 03:08:18,824 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:18,824 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1198320313] [2022-02-21 03:08:18,824 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:18,824 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:18,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:18,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-21 03:08:18,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:18,871 INFO L290 TraceCheckUtils]: 0: Hoare triple {3453#true} ~n := #in~n;~m := #in~m; {3453#true} is VALID [2022-02-21 03:08:18,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {3453#true} assume !(~m < 0); {3453#true} is VALID [2022-02-21 03:08:18,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {3453#true} assume 0 == ~m;#res := 0; {3453#true} is VALID [2022-02-21 03:08:18,872 INFO L290 TraceCheckUtils]: 3: Hoare triple {3453#true} assume true; {3453#true} is VALID [2022-02-21 03:08:18,872 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3453#true} {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} #58#return; {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:18,872 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-21 03:08:18,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:18,891 INFO L290 TraceCheckUtils]: 0: Hoare triple {3453#true} ~n := #in~n;~m := #in~m; {3453#true} is VALID [2022-02-21 03:08:18,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {3453#true} assume !(~m < 0); {3453#true} is VALID [2022-02-21 03:08:18,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {3453#true} assume 0 == ~m;#res := 0; {3469#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:18,892 INFO L290 TraceCheckUtils]: 3: Hoare triple {3469#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {3469#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:18,893 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3469#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {3462#(<= 0 mult_~n)} #56#return; {3468#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:18,893 INFO L290 TraceCheckUtils]: 0: Hoare triple {3453#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(20, 2);call #Ultimate.allocInit(12, 3); {3453#true} is VALID [2022-02-21 03:08:18,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {3453#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {3453#true} is VALID [2022-02-21 03:08:18,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {3453#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3453#true} is VALID [2022-02-21 03:08:18,893 INFO L290 TraceCheckUtils]: 3: Hoare triple {3453#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:18,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {3453#true} is VALID [2022-02-21 03:08:18,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {3453#true} ~n := #in~n;~m := #in~m; {3453#true} is VALID [2022-02-21 03:08:18,893 INFO L290 TraceCheckUtils]: 6: Hoare triple {3453#true} assume !(~m < 0); {3453#true} is VALID [2022-02-21 03:08:18,893 INFO L290 TraceCheckUtils]: 7: Hoare triple {3453#true} assume 0 == ~m;#res := 0; {3453#true} is VALID [2022-02-21 03:08:18,893 INFO L290 TraceCheckUtils]: 8: Hoare triple {3453#true} assume true; {3453#true} is VALID [2022-02-21 03:08:18,894 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3453#true} {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} #58#return; {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:18,894 INFO L290 TraceCheckUtils]: 10: Hoare triple {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:18,895 INFO L272 TraceCheckUtils]: 11: Hoare triple {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {3461#(<= 0 |mult_#in~n|)} is VALID [2022-02-21 03:08:18,895 INFO L290 TraceCheckUtils]: 12: Hoare triple {3461#(<= 0 |mult_#in~n|)} ~n := #in~n;~m := #in~m; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:18,895 INFO L290 TraceCheckUtils]: 13: Hoare triple {3462#(<= 0 mult_~n)} assume !(~m < 0); {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:18,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {3462#(<= 0 mult_~n)} assume !(0 == ~m); {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:18,896 INFO L290 TraceCheckUtils]: 15: Hoare triple {3462#(<= 0 mult_~n)} assume ~m - 1 <= 2147483647; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:18,896 INFO L290 TraceCheckUtils]: 16: Hoare triple {3462#(<= 0 mult_~n)} assume ~m - 1 >= -2147483648; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:18,896 INFO L272 TraceCheckUtils]: 17: Hoare triple {3462#(<= 0 mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {3453#true} is VALID [2022-02-21 03:08:18,896 INFO L290 TraceCheckUtils]: 18: Hoare triple {3453#true} ~n := #in~n;~m := #in~m; {3453#true} is VALID [2022-02-21 03:08:18,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {3453#true} assume !(~m < 0); {3453#true} is VALID [2022-02-21 03:08:18,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {3453#true} assume 0 == ~m;#res := 0; {3469#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:18,897 INFO L290 TraceCheckUtils]: 21: Hoare triple {3469#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {3469#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:18,897 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3469#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {3462#(<= 0 mult_~n)} #56#return; {3468#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:18,898 INFO L290 TraceCheckUtils]: 23: Hoare triple {3468#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {3468#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:18,898 INFO L290 TraceCheckUtils]: 24: Hoare triple {3468#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} assume ~n + #t~ret5 <= 2147483647; {3468#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:18,898 INFO L290 TraceCheckUtils]: 25: Hoare triple {3468#(and (= |mult_#t~ret5| 0) (<= 0 mult_~n))} assume !(~n + #t~ret5 >= -2147483648); {3454#false} is VALID [2022-02-21 03:08:18,899 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 5 proven. 3 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-21 03:08:18,899 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:18,899 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1198320313] [2022-02-21 03:08:18,899 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1198320313] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:08:18,899 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [767057577] [2022-02-21 03:08:18,899 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:18,899 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:18,899 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:08:18,900 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-21 03:08:18,901 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-21 03:08:18,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:18,932 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-21 03:08:18,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:18,940 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:08:19,033 INFO L290 TraceCheckUtils]: 0: Hoare triple {3453#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(20, 2);call #Ultimate.allocInit(12, 3); {3453#true} is VALID [2022-02-21 03:08:19,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {3453#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {3453#true} is VALID [2022-02-21 03:08:19,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {3453#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3453#true} is VALID [2022-02-21 03:08:19,039 INFO L290 TraceCheckUtils]: 3: Hoare triple {3453#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:19,039 INFO L272 TraceCheckUtils]: 4: Hoare triple {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {3453#true} is VALID [2022-02-21 03:08:19,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {3453#true} ~n := #in~n;~m := #in~m; {3453#true} is VALID [2022-02-21 03:08:19,039 INFO L290 TraceCheckUtils]: 6: Hoare triple {3453#true} assume !(~m < 0); {3453#true} is VALID [2022-02-21 03:08:19,039 INFO L290 TraceCheckUtils]: 7: Hoare triple {3453#true} assume 0 == ~m;#res := 0; {3453#true} is VALID [2022-02-21 03:08:19,040 INFO L290 TraceCheckUtils]: 8: Hoare triple {3453#true} assume true; {3453#true} is VALID [2022-02-21 03:08:19,040 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3453#true} {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} #58#return; {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:19,040 INFO L290 TraceCheckUtils]: 10: Hoare triple {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:19,041 INFO L272 TraceCheckUtils]: 11: Hoare triple {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {3461#(<= 0 |mult_#in~n|)} is VALID [2022-02-21 03:08:19,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {3461#(<= 0 |mult_#in~n|)} ~n := #in~n;~m := #in~m; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,041 INFO L290 TraceCheckUtils]: 13: Hoare triple {3462#(<= 0 mult_~n)} assume !(~m < 0); {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {3462#(<= 0 mult_~n)} assume !(0 == ~m); {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {3462#(<= 0 mult_~n)} assume ~m - 1 <= 2147483647; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,042 INFO L290 TraceCheckUtils]: 16: Hoare triple {3462#(<= 0 mult_~n)} assume ~m - 1 >= -2147483648; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,042 INFO L272 TraceCheckUtils]: 17: Hoare triple {3462#(<= 0 mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {3453#true} is VALID [2022-02-21 03:08:19,042 INFO L290 TraceCheckUtils]: 18: Hoare triple {3453#true} ~n := #in~n;~m := #in~m; {3453#true} is VALID [2022-02-21 03:08:19,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {3453#true} assume !(~m < 0); {3453#true} is VALID [2022-02-21 03:08:19,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {3453#true} assume 0 == ~m;#res := 0; {3453#true} is VALID [2022-02-21 03:08:19,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {3453#true} assume true; {3453#true} is VALID [2022-02-21 03:08:19,043 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3453#true} {3462#(<= 0 mult_~n)} #56#return; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {3462#(<= 0 mult_~n)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {3542#(and (<= 0 (+ |mult_#t~ret5| 2147483648)) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:19,044 INFO L290 TraceCheckUtils]: 24: Hoare triple {3542#(and (<= 0 (+ |mult_#t~ret5| 2147483648)) (<= 0 mult_~n))} assume ~n + #t~ret5 <= 2147483647; {3542#(and (<= 0 (+ |mult_#t~ret5| 2147483648)) (<= 0 mult_~n))} is VALID [2022-02-21 03:08:19,044 INFO L290 TraceCheckUtils]: 25: Hoare triple {3542#(and (<= 0 (+ |mult_#t~ret5| 2147483648)) (<= 0 mult_~n))} assume !(~n + #t~ret5 >= -2147483648); {3454#false} is VALID [2022-02-21 03:08:19,044 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:08:19,045 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:08:19,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {3549#(<= 0 (+ |mult_#t~ret5| mult_~n 2147483648))} assume !(~n + #t~ret5 >= -2147483648); {3454#false} is VALID [2022-02-21 03:08:19,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {3549#(<= 0 (+ |mult_#t~ret5| mult_~n 2147483648))} assume ~n + #t~ret5 <= 2147483647; {3549#(<= 0 (+ |mult_#t~ret5| mult_~n 2147483648))} is VALID [2022-02-21 03:08:19,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {3462#(<= 0 mult_~n)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {3549#(<= 0 (+ |mult_#t~ret5| mult_~n 2147483648))} is VALID [2022-02-21 03:08:19,139 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3453#true} {3462#(<= 0 mult_~n)} #56#return; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,139 INFO L290 TraceCheckUtils]: 21: Hoare triple {3453#true} assume true; {3453#true} is VALID [2022-02-21 03:08:19,139 INFO L290 TraceCheckUtils]: 20: Hoare triple {3453#true} assume 0 == ~m;#res := 0; {3453#true} is VALID [2022-02-21 03:08:19,139 INFO L290 TraceCheckUtils]: 19: Hoare triple {3453#true} assume !(~m < 0); {3453#true} is VALID [2022-02-21 03:08:19,139 INFO L290 TraceCheckUtils]: 18: Hoare triple {3453#true} ~n := #in~n;~m := #in~m; {3453#true} is VALID [2022-02-21 03:08:19,139 INFO L272 TraceCheckUtils]: 17: Hoare triple {3462#(<= 0 mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {3453#true} is VALID [2022-02-21 03:08:19,139 INFO L290 TraceCheckUtils]: 16: Hoare triple {3462#(<= 0 mult_~n)} assume ~m - 1 >= -2147483648; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,140 INFO L290 TraceCheckUtils]: 15: Hoare triple {3462#(<= 0 mult_~n)} assume ~m - 1 <= 2147483647; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,140 INFO L290 TraceCheckUtils]: 14: Hoare triple {3462#(<= 0 mult_~n)} assume !(0 == ~m); {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,141 INFO L290 TraceCheckUtils]: 13: Hoare triple {3462#(<= 0 mult_~n)} assume !(~m < 0); {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,142 INFO L290 TraceCheckUtils]: 12: Hoare triple {3461#(<= 0 |mult_#in~n|)} ~n := #in~n;~m := #in~m; {3462#(<= 0 mult_~n)} is VALID [2022-02-21 03:08:19,142 INFO L272 TraceCheckUtils]: 11: Hoare triple {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {3461#(<= 0 |mult_#in~n|)} is VALID [2022-02-21 03:08:19,148 INFO L290 TraceCheckUtils]: 10: Hoare triple {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:19,148 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3453#true} {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} #58#return; {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:19,149 INFO L290 TraceCheckUtils]: 8: Hoare triple {3453#true} assume true; {3453#true} is VALID [2022-02-21 03:08:19,149 INFO L290 TraceCheckUtils]: 7: Hoare triple {3453#true} assume 0 == ~m;#res := 0; {3453#true} is VALID [2022-02-21 03:08:19,149 INFO L290 TraceCheckUtils]: 6: Hoare triple {3453#true} assume !(~m < 0); {3453#true} is VALID [2022-02-21 03:08:19,149 INFO L290 TraceCheckUtils]: 5: Hoare triple {3453#true} ~n := #in~n;~m := #in~m; {3453#true} is VALID [2022-02-21 03:08:19,149 INFO L272 TraceCheckUtils]: 4: Hoare triple {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {3453#true} is VALID [2022-02-21 03:08:19,149 INFO L290 TraceCheckUtils]: 3: Hoare triple {3453#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {3455#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:08:19,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {3453#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3453#true} is VALID [2022-02-21 03:08:19,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {3453#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {3453#true} is VALID [2022-02-21 03:08:19,150 INFO L290 TraceCheckUtils]: 0: Hoare triple {3453#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(20, 2);call #Ultimate.allocInit(12, 3); {3453#true} is VALID [2022-02-21 03:08:19,150 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:08:19,150 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [767057577] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:08:19,150 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:08:19,150 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 8 [2022-02-21 03:08:19,151 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1831484256] [2022-02-21 03:08:19,151 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:08:19,152 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-02-21 03:08:19,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:19,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:19,171 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:19,172 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-21 03:08:19,172 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:19,172 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-21 03:08:19,172 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-02-21 03:08:19,173 INFO L87 Difference]: Start difference. First operand 80 states and 92 transitions. Second operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:19,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:19,376 INFO L93 Difference]: Finished difference Result 97 states and 113 transitions. [2022-02-21 03:08:19,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-21 03:08:19,377 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-02-21 03:08:19,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:19,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:19,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 45 transitions. [2022-02-21 03:08:19,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:19,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 45 transitions. [2022-02-21 03:08:19,378 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 45 transitions. [2022-02-21 03:08:19,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:19,408 INFO L225 Difference]: With dead ends: 97 [2022-02-21 03:08:19,408 INFO L226 Difference]: Without dead ends: 64 [2022-02-21 03:08:19,409 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 53 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2022-02-21 03:08:19,409 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 26 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:19,409 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 126 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:08:19,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-21 03:08:19,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 55. [2022-02-21 03:08:19,437 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:19,437 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 55 states, 44 states have (on average 1.1136363636363635) internal successors, (49), 43 states have internal predecessors, (49), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:19,437 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 55 states, 44 states have (on average 1.1136363636363635) internal successors, (49), 43 states have internal predecessors, (49), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:19,437 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 55 states, 44 states have (on average 1.1136363636363635) internal successors, (49), 43 states have internal predecessors, (49), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:19,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:19,438 INFO L93 Difference]: Finished difference Result 64 states and 71 transitions. [2022-02-21 03:08:19,439 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 71 transitions. [2022-02-21 03:08:19,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:19,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:19,439 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 44 states have (on average 1.1136363636363635) internal successors, (49), 43 states have internal predecessors, (49), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Second operand 64 states. [2022-02-21 03:08:19,439 INFO L87 Difference]: Start difference. First operand has 55 states, 44 states have (on average 1.1136363636363635) internal successors, (49), 43 states have internal predecessors, (49), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Second operand 64 states. [2022-02-21 03:08:19,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:19,440 INFO L93 Difference]: Finished difference Result 64 states and 71 transitions. [2022-02-21 03:08:19,440 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 71 transitions. [2022-02-21 03:08:19,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:19,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:19,440 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:19,440 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:19,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 44 states have (on average 1.1136363636363635) internal successors, (49), 43 states have internal predecessors, (49), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-02-21 03:08:19,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 62 transitions. [2022-02-21 03:08:19,441 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 62 transitions. Word has length 26 [2022-02-21 03:08:19,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:19,442 INFO L470 AbstractCegarLoop]: Abstraction has 55 states and 62 transitions. [2022-02-21 03:08:19,442 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:08:19,445 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2022-02-21 03:08:19,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-21 03:08:19,445 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:19,445 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:19,485 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-21 03:08:19,652 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:19,652 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting multErr4ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:19,653 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:19,653 INFO L85 PathProgramCache]: Analyzing trace with hash 360381511, now seen corresponding path program 1 times [2022-02-21 03:08:19,653 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:19,653 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1241163382] [2022-02-21 03:08:19,653 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:19,653 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:19,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:19,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-21 03:08:19,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:19,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:08:19,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:19,748 INFO L290 TraceCheckUtils]: 0: Hoare triple {3938#true} ~n := #in~n;~m := #in~m; {3938#true} is VALID [2022-02-21 03:08:19,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {3938#true} assume !(~m < 0); {3938#true} is VALID [2022-02-21 03:08:19,749 INFO L290 TraceCheckUtils]: 2: Hoare triple {3938#true} assume 0 == ~m;#res := 0; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:19,749 INFO L290 TraceCheckUtils]: 3: Hoare triple {3968#(<= |mult_#res| 0)} assume true; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:19,750 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3968#(<= |mult_#res| 0)} {3960#(= |mult_#in~n| mult_~n)} #56#return; {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,750 INFO L290 TraceCheckUtils]: 0: Hoare triple {3938#true} ~n := #in~n;~m := #in~m; {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {3960#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {3960#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,751 INFO L290 TraceCheckUtils]: 3: Hoare triple {3960#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,751 INFO L290 TraceCheckUtils]: 4: Hoare triple {3960#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,751 INFO L272 TraceCheckUtils]: 5: Hoare triple {3960#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {3938#true} is VALID [2022-02-21 03:08:19,752 INFO L290 TraceCheckUtils]: 6: Hoare triple {3938#true} ~n := #in~n;~m := #in~m; {3938#true} is VALID [2022-02-21 03:08:19,752 INFO L290 TraceCheckUtils]: 7: Hoare triple {3938#true} assume !(~m < 0); {3938#true} is VALID [2022-02-21 03:08:19,752 INFO L290 TraceCheckUtils]: 8: Hoare triple {3938#true} assume 0 == ~m;#res := 0; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:19,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {3968#(<= |mult_#res| 0)} assume true; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:19,753 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3968#(<= |mult_#res| 0)} {3960#(= |mult_#in~n| mult_~n)} #56#return; {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,753 INFO L290 TraceCheckUtils]: 11: Hoare triple {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,754 INFO L290 TraceCheckUtils]: 12: Hoare triple {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,754 INFO L290 TraceCheckUtils]: 13: Hoare triple {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {3967#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:19,754 INFO L290 TraceCheckUtils]: 14: Hoare triple {3967#(<= |mult_#res| |mult_#in~n|)} assume true; {3967#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:19,755 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3967#(<= |mult_#res| |mult_#in~n|)} {3942#(<= mult_~n 46340)} #56#return; {3959#(<= (+ |mult_#t~ret5| mult_~n) 92680)} is VALID [2022-02-21 03:08:19,755 INFO L290 TraceCheckUtils]: 0: Hoare triple {3938#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(20, 2);call #Ultimate.allocInit(12, 3); {3938#true} is VALID [2022-02-21 03:08:19,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {3938#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {3938#true} is VALID [2022-02-21 03:08:19,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {3938#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3940#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:19,756 INFO L290 TraceCheckUtils]: 3: Hoare triple {3940#(<= |ULTIMATE.start_main_~m~0#1| 46340)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {3940#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:19,756 INFO L272 TraceCheckUtils]: 4: Hoare triple {3940#(<= |ULTIMATE.start_main_~m~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {3941#(<= |mult_#in~n| 46340)} is VALID [2022-02-21 03:08:19,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {3941#(<= |mult_#in~n| 46340)} ~n := #in~n;~m := #in~m; {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,757 INFO L290 TraceCheckUtils]: 6: Hoare triple {3942#(<= mult_~n 46340)} assume !(~m < 0); {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {3942#(<= mult_~n 46340)} assume !(0 == ~m); {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {3942#(<= mult_~n 46340)} assume ~m - 1 <= 2147483647; {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {3942#(<= mult_~n 46340)} assume ~m - 1 >= -2147483648; {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,758 INFO L272 TraceCheckUtils]: 10: Hoare triple {3942#(<= mult_~n 46340)} call #t~ret5 := mult(~n, ~m - 1); {3938#true} is VALID [2022-02-21 03:08:19,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {3938#true} ~n := #in~n;~m := #in~m; {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,759 INFO L290 TraceCheckUtils]: 12: Hoare triple {3960#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {3960#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {3960#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {3960#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {3960#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:19,760 INFO L272 TraceCheckUtils]: 16: Hoare triple {3960#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {3938#true} is VALID [2022-02-21 03:08:19,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {3938#true} ~n := #in~n;~m := #in~m; {3938#true} is VALID [2022-02-21 03:08:19,760 INFO L290 TraceCheckUtils]: 18: Hoare triple {3938#true} assume !(~m < 0); {3938#true} is VALID [2022-02-21 03:08:19,760 INFO L290 TraceCheckUtils]: 19: Hoare triple {3938#true} assume 0 == ~m;#res := 0; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:19,760 INFO L290 TraceCheckUtils]: 20: Hoare triple {3968#(<= |mult_#res| 0)} assume true; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:19,762 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3968#(<= |mult_#res| 0)} {3960#(= |mult_#in~n| mult_~n)} #56#return; {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,762 INFO L290 TraceCheckUtils]: 22: Hoare triple {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,762 INFO L290 TraceCheckUtils]: 23: Hoare triple {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {3966#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {3967#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:19,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {3967#(<= |mult_#res| |mult_#in~n|)} assume true; {3967#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:19,764 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3967#(<= |mult_#res| |mult_#in~n|)} {3942#(<= mult_~n 46340)} #56#return; {3959#(<= (+ |mult_#t~ret5| mult_~n) 92680)} is VALID [2022-02-21 03:08:19,764 INFO L290 TraceCheckUtils]: 27: Hoare triple {3959#(<= (+ |mult_#t~ret5| mult_~n) 92680)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {3959#(<= (+ |mult_#t~ret5| mult_~n) 92680)} is VALID [2022-02-21 03:08:19,764 INFO L290 TraceCheckUtils]: 28: Hoare triple {3959#(<= (+ |mult_#t~ret5| mult_~n) 92680)} assume !(~n + #t~ret5 <= 2147483647); {3939#false} is VALID [2022-02-21 03:08:19,765 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:08:19,765 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:19,765 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1241163382] [2022-02-21 03:08:19,765 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1241163382] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:08:19,765 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [873898623] [2022-02-21 03:08:19,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:19,765 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:19,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:08:19,767 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-21 03:08:19,768 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-21 03:08:19,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:19,798 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-21 03:08:19,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:19,805 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:08:19,989 INFO L290 TraceCheckUtils]: 0: Hoare triple {3938#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(20, 2);call #Ultimate.allocInit(12, 3); {3938#true} is VALID [2022-02-21 03:08:19,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {3938#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {3938#true} is VALID [2022-02-21 03:08:19,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {3938#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3940#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:19,990 INFO L290 TraceCheckUtils]: 3: Hoare triple {3940#(<= |ULTIMATE.start_main_~m~0#1| 46340)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {3940#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:19,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {3940#(<= |ULTIMATE.start_main_~m~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {3941#(<= |mult_#in~n| 46340)} is VALID [2022-02-21 03:08:19,991 INFO L290 TraceCheckUtils]: 5: Hoare triple {3941#(<= |mult_#in~n| 46340)} ~n := #in~n;~m := #in~m; {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,991 INFO L290 TraceCheckUtils]: 6: Hoare triple {3942#(<= mult_~n 46340)} assume !(~m < 0); {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {3942#(<= mult_~n 46340)} assume !(0 == ~m); {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {3942#(<= mult_~n 46340)} assume ~m - 1 <= 2147483647; {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,992 INFO L290 TraceCheckUtils]: 9: Hoare triple {3942#(<= mult_~n 46340)} assume ~m - 1 >= -2147483648; {3942#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:19,992 INFO L272 TraceCheckUtils]: 10: Hoare triple {3942#(<= mult_~n 46340)} call #t~ret5 := mult(~n, ~m - 1); {3938#true} is VALID [2022-02-21 03:08:19,993 INFO L290 TraceCheckUtils]: 11: Hoare triple {3938#true} ~n := #in~n;~m := #in~m; {4005#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:19,993 INFO L290 TraceCheckUtils]: 12: Hoare triple {4005#(<= mult_~n |mult_#in~n|)} assume !(~m < 0); {4005#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:19,993 INFO L290 TraceCheckUtils]: 13: Hoare triple {4005#(<= mult_~n |mult_#in~n|)} assume !(0 == ~m); {4005#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:19,993 INFO L290 TraceCheckUtils]: 14: Hoare triple {4005#(<= mult_~n |mult_#in~n|)} assume ~m - 1 <= 2147483647; {4005#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:19,994 INFO L290 TraceCheckUtils]: 15: Hoare triple {4005#(<= mult_~n |mult_#in~n|)} assume ~m - 1 >= -2147483648; {4005#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:19,994 INFO L272 TraceCheckUtils]: 16: Hoare triple {4005#(<= mult_~n |mult_#in~n|)} call #t~ret5 := mult(~n, ~m - 1); {3938#true} is VALID [2022-02-21 03:08:19,994 INFO L290 TraceCheckUtils]: 17: Hoare triple {3938#true} ~n := #in~n;~m := #in~m; {3938#true} is VALID [2022-02-21 03:08:19,994 INFO L290 TraceCheckUtils]: 18: Hoare triple {3938#true} assume !(~m < 0); {3938#true} is VALID [2022-02-21 03:08:19,994 INFO L290 TraceCheckUtils]: 19: Hoare triple {3938#true} assume 0 == ~m;#res := 0; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:19,995 INFO L290 TraceCheckUtils]: 20: Hoare triple {3968#(<= |mult_#res| 0)} assume true; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:19,995 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3968#(<= |mult_#res| 0)} {4005#(<= mult_~n |mult_#in~n|)} #56#return; {4036#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,996 INFO L290 TraceCheckUtils]: 22: Hoare triple {4036#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4036#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,996 INFO L290 TraceCheckUtils]: 23: Hoare triple {4036#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {4036#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:19,997 INFO L290 TraceCheckUtils]: 24: Hoare triple {4036#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {3967#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:19,997 INFO L290 TraceCheckUtils]: 25: Hoare triple {3967#(<= |mult_#res| |mult_#in~n|)} assume true; {3967#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:19,997 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3967#(<= |mult_#res| |mult_#in~n|)} {3942#(<= mult_~n 46340)} #56#return; {4052#(and (<= |mult_#t~ret5| mult_~n) (<= mult_~n 46340))} is VALID [2022-02-21 03:08:19,998 INFO L290 TraceCheckUtils]: 27: Hoare triple {4052#(and (<= |mult_#t~ret5| mult_~n) (<= mult_~n 46340))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4052#(and (<= |mult_#t~ret5| mult_~n) (<= mult_~n 46340))} is VALID [2022-02-21 03:08:19,998 INFO L290 TraceCheckUtils]: 28: Hoare triple {4052#(and (<= |mult_#t~ret5| mult_~n) (<= mult_~n 46340))} assume !(~n + #t~ret5 <= 2147483647); {3939#false} is VALID [2022-02-21 03:08:19,998 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:08:19,998 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:08:20,466 INFO L290 TraceCheckUtils]: 28: Hoare triple {4059#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume !(~n + #t~ret5 <= 2147483647); {3939#false} is VALID [2022-02-21 03:08:20,476 INFO L290 TraceCheckUtils]: 27: Hoare triple {4059#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4059#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:08:20,477 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4070#(or (<= |mult_#res| 1073741824) (< 1073741823 |mult_#in~n|))} {4066#(<= (* 2 mult_~n) 2147483647)} #56#return; {4059#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:08:20,477 INFO L290 TraceCheckUtils]: 25: Hoare triple {4070#(or (<= |mult_#res| 1073741824) (< 1073741823 |mult_#in~n|))} assume true; {4070#(or (<= |mult_#res| 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:08:20,478 INFO L290 TraceCheckUtils]: 24: Hoare triple {4077#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {4070#(or (<= |mult_#res| 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:08:20,479 INFO L290 TraceCheckUtils]: 23: Hoare triple {4077#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} assume ~n + #t~ret5 <= 2147483647; {4077#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} is VALID [2022-02-21 03:08:20,479 INFO L290 TraceCheckUtils]: 22: Hoare triple {4077#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4077#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} is VALID [2022-02-21 03:08:20,480 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3968#(<= |mult_#res| 0)} {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} #56#return; {4077#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} is VALID [2022-02-21 03:08:20,480 INFO L290 TraceCheckUtils]: 20: Hoare triple {3968#(<= |mult_#res| 0)} assume true; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:20,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {3938#true} assume 0 == ~m;#res := 0; {3968#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:20,481 INFO L290 TraceCheckUtils]: 18: Hoare triple {3938#true} assume !(~m < 0); {3938#true} is VALID [2022-02-21 03:08:20,481 INFO L290 TraceCheckUtils]: 17: Hoare triple {3938#true} ~n := #in~n;~m := #in~m; {3938#true} is VALID [2022-02-21 03:08:20,481 INFO L272 TraceCheckUtils]: 16: Hoare triple {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} call #t~ret5 := mult(~n, ~m - 1); {3938#true} is VALID [2022-02-21 03:08:20,481 INFO L290 TraceCheckUtils]: 15: Hoare triple {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} assume ~m - 1 >= -2147483648; {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:08:20,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} assume ~m - 1 <= 2147483647; {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:08:20,482 INFO L290 TraceCheckUtils]: 13: Hoare triple {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} assume !(0 == ~m); {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:08:20,482 INFO L290 TraceCheckUtils]: 12: Hoare triple {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} assume !(~m < 0); {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:08:20,482 INFO L290 TraceCheckUtils]: 11: Hoare triple {3938#true} ~n := #in~n;~m := #in~m; {4087#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:08:20,482 INFO L272 TraceCheckUtils]: 10: Hoare triple {4066#(<= (* 2 mult_~n) 2147483647)} call #t~ret5 := mult(~n, ~m - 1); {3938#true} is VALID [2022-02-21 03:08:20,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {4066#(<= (* 2 mult_~n) 2147483647)} assume ~m - 1 >= -2147483648; {4066#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:08:20,483 INFO L290 TraceCheckUtils]: 8: Hoare triple {4066#(<= (* 2 mult_~n) 2147483647)} assume ~m - 1 <= 2147483647; {4066#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:08:20,483 INFO L290 TraceCheckUtils]: 7: Hoare triple {4066#(<= (* 2 mult_~n) 2147483647)} assume !(0 == ~m); {4066#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:08:20,484 INFO L290 TraceCheckUtils]: 6: Hoare triple {4066#(<= (* 2 mult_~n) 2147483647)} assume !(~m < 0); {4066#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:08:20,484 INFO L290 TraceCheckUtils]: 5: Hoare triple {4133#(<= |mult_#in~n| 1073741823)} ~n := #in~n;~m := #in~m; {4066#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:08:20,485 INFO L272 TraceCheckUtils]: 4: Hoare triple {4137#(<= |ULTIMATE.start_main_~m~0#1| 1073741823)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {4133#(<= |mult_#in~n| 1073741823)} is VALID [2022-02-21 03:08:20,485 INFO L290 TraceCheckUtils]: 3: Hoare triple {4137#(<= |ULTIMATE.start_main_~m~0#1| 1073741823)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {4137#(<= |ULTIMATE.start_main_~m~0#1| 1073741823)} is VALID [2022-02-21 03:08:20,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {3938#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4137#(<= |ULTIMATE.start_main_~m~0#1| 1073741823)} is VALID [2022-02-21 03:08:20,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {3938#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {3938#true} is VALID [2022-02-21 03:08:20,486 INFO L290 TraceCheckUtils]: 0: Hoare triple {3938#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(20, 2);call #Ultimate.allocInit(12, 3); {3938#true} is VALID [2022-02-21 03:08:20,486 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:08:20,486 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [873898623] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:08:20,486 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:08:20,487 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 19 [2022-02-21 03:08:20,487 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [909788527] [2022-02-21 03:08:20,487 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:08:20,488 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 29 [2022-02-21 03:08:20,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:20,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-21 03:08:20,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:20,527 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-21 03:08:20,528 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:20,528 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-21 03:08:20,528 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-02-21 03:08:20,528 INFO L87 Difference]: Start difference. First operand 55 states and 62 transitions. Second operand has 20 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-21 03:08:21,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:21,061 INFO L93 Difference]: Finished difference Result 87 states and 100 transitions. [2022-02-21 03:08:21,061 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-21 03:08:21,061 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 29 [2022-02-21 03:08:21,061 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:21,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-21 03:08:21,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 60 transitions. [2022-02-21 03:08:21,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-21 03:08:21,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 60 transitions. [2022-02-21 03:08:21,063 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 60 transitions. [2022-02-21 03:08:21,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:21,116 INFO L225 Difference]: With dead ends: 87 [2022-02-21 03:08:21,116 INFO L226 Difference]: Without dead ends: 86 [2022-02-21 03:08:21,116 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 137 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=196, Invalid=796, Unknown=0, NotChecked=0, Total=992 [2022-02-21 03:08:21,117 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 73 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 79 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 205 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:21,117 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [79 Valid, 146 Invalid, 205 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 03:08:21,117 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-02-21 03:08:21,148 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 65. [2022-02-21 03:08:21,149 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:21,150 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 65 states, 52 states have (on average 1.0961538461538463) internal successors, (57), 51 states have internal predecessors, (57), 6 states have call successors, (6), 4 states have call predecessors, (6), 6 states have return successors, (11), 9 states have call predecessors, (11), 5 states have call successors, (11) [2022-02-21 03:08:21,151 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 65 states, 52 states have (on average 1.0961538461538463) internal successors, (57), 51 states have internal predecessors, (57), 6 states have call successors, (6), 4 states have call predecessors, (6), 6 states have return successors, (11), 9 states have call predecessors, (11), 5 states have call successors, (11) [2022-02-21 03:08:21,151 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 65 states, 52 states have (on average 1.0961538461538463) internal successors, (57), 51 states have internal predecessors, (57), 6 states have call successors, (6), 4 states have call predecessors, (6), 6 states have return successors, (11), 9 states have call predecessors, (11), 5 states have call successors, (11) [2022-02-21 03:08:21,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:21,155 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-02-21 03:08:21,155 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-02-21 03:08:21,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:21,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:21,156 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 52 states have (on average 1.0961538461538463) internal successors, (57), 51 states have internal predecessors, (57), 6 states have call successors, (6), 4 states have call predecessors, (6), 6 states have return successors, (11), 9 states have call predecessors, (11), 5 states have call successors, (11) Second operand 86 states. [2022-02-21 03:08:21,156 INFO L87 Difference]: Start difference. First operand has 65 states, 52 states have (on average 1.0961538461538463) internal successors, (57), 51 states have internal predecessors, (57), 6 states have call successors, (6), 4 states have call predecessors, (6), 6 states have return successors, (11), 9 states have call predecessors, (11), 5 states have call successors, (11) Second operand 86 states. [2022-02-21 03:08:21,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:21,158 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-02-21 03:08:21,158 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-02-21 03:08:21,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:21,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:21,158 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:21,158 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:21,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 52 states have (on average 1.0961538461538463) internal successors, (57), 51 states have internal predecessors, (57), 6 states have call successors, (6), 4 states have call predecessors, (6), 6 states have return successors, (11), 9 states have call predecessors, (11), 5 states have call successors, (11) [2022-02-21 03:08:21,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 74 transitions. [2022-02-21 03:08:21,159 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 74 transitions. Word has length 29 [2022-02-21 03:08:21,160 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:21,160 INFO L470 AbstractCegarLoop]: Abstraction has 65 states and 74 transitions. [2022-02-21 03:08:21,160 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 2.736842105263158) internal successors, (52), 18 states have internal predecessors, (52), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-21 03:08:21,160 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 74 transitions. [2022-02-21 03:08:21,160 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-21 03:08:21,160 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:21,160 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:21,178 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-21 03:08:21,363 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-02-21 03:08:21,364 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting multErr4ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:21,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:21,364 INFO L85 PathProgramCache]: Analyzing trace with hash 358409096, now seen corresponding path program 1 times [2022-02-21 03:08:21,364 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:21,364 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1030731518] [2022-02-21 03:08:21,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:21,364 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:21,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:21,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-21 03:08:21,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:21,442 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:08:21,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:21,454 INFO L290 TraceCheckUtils]: 0: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:21,455 INFO L290 TraceCheckUtils]: 3: Hoare triple {4552#(<= |mult_#in~m| 0)} assume true; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:21,456 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4552#(<= |mult_#in~m| 0)} {4545#(= |mult_#in~m| mult_~m)} #56#return; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume !(0 == ~m); {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,457 INFO L290 TraceCheckUtils]: 3: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume ~m - 1 <= 2147483647; {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,458 INFO L290 TraceCheckUtils]: 4: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume ~m - 1 >= -2147483648; {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,458 INFO L272 TraceCheckUtils]: 5: Hoare triple {4545#(= |mult_#in~m| mult_~m)} call #t~ret5 := mult(~n, ~m - 1); {4518#true} is VALID [2022-02-21 03:08:21,458 INFO L290 TraceCheckUtils]: 6: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,458 INFO L290 TraceCheckUtils]: 7: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,459 INFO L290 TraceCheckUtils]: 8: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:21,459 INFO L290 TraceCheckUtils]: 9: Hoare triple {4552#(<= |mult_#in~m| 0)} assume true; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:21,460 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4552#(<= |mult_#in~m| 0)} {4545#(= |mult_#in~m| mult_~m)} #56#return; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,460 INFO L290 TraceCheckUtils]: 11: Hoare triple {4551#(<= |mult_#in~m| 1)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,460 INFO L290 TraceCheckUtils]: 12: Hoare triple {4551#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 <= 2147483647; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,461 INFO L290 TraceCheckUtils]: 13: Hoare triple {4551#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,461 INFO L290 TraceCheckUtils]: 14: Hoare triple {4551#(<= |mult_#in~m| 1)} assume true; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,461 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4551#(<= |mult_#in~m| 1)} {4518#true} #58#return; {4536#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-21 03:08:21,462 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-02-21 03:08:21,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:21,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4518#true} is VALID [2022-02-21 03:08:21,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {4518#true} assume !(~m < 0); {4518#true} is VALID [2022-02-21 03:08:21,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {4518#true} assume 0 == ~m;#res := 0; {4553#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:21,492 INFO L290 TraceCheckUtils]: 3: Hoare triple {4553#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {4553#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:21,492 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4553#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {4538#(<= mult_~n 1)} #56#return; {4544#(and (<= mult_~n 1) (= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:21,493 INFO L290 TraceCheckUtils]: 0: Hoare triple {4518#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(20, 2);call #Ultimate.allocInit(12, 3); {4518#true} is VALID [2022-02-21 03:08:21,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {4518#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {4518#true} is VALID [2022-02-21 03:08:21,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {4518#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4518#true} is VALID [2022-02-21 03:08:21,493 INFO L290 TraceCheckUtils]: 3: Hoare triple {4518#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {4518#true} is VALID [2022-02-21 03:08:21,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {4518#true} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {4518#true} is VALID [2022-02-21 03:08:21,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,494 INFO L290 TraceCheckUtils]: 6: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume !(0 == ~m); {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume ~m - 1 <= 2147483647; {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,495 INFO L290 TraceCheckUtils]: 9: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume ~m - 1 >= -2147483648; {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,495 INFO L272 TraceCheckUtils]: 10: Hoare triple {4545#(= |mult_#in~m| mult_~m)} call #t~ret5 := mult(~n, ~m - 1); {4518#true} is VALID [2022-02-21 03:08:21,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,495 INFO L290 TraceCheckUtils]: 12: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {4545#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,496 INFO L290 TraceCheckUtils]: 13: Hoare triple {4545#(= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:21,496 INFO L290 TraceCheckUtils]: 14: Hoare triple {4552#(<= |mult_#in~m| 0)} assume true; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:21,497 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4552#(<= |mult_#in~m| 0)} {4545#(= |mult_#in~m| mult_~m)} #56#return; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,497 INFO L290 TraceCheckUtils]: 16: Hoare triple {4551#(<= |mult_#in~m| 1)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,511 INFO L290 TraceCheckUtils]: 17: Hoare triple {4551#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 <= 2147483647; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,512 INFO L290 TraceCheckUtils]: 18: Hoare triple {4551#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {4551#(<= |mult_#in~m| 1)} assume true; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,513 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4551#(<= |mult_#in~m| 1)} {4518#true} #58#return; {4536#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-21 03:08:21,514 INFO L290 TraceCheckUtils]: 21: Hoare triple {4536#(<= |ULTIMATE.start_main_~n~0#1| 1)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {4536#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-21 03:08:21,514 INFO L272 TraceCheckUtils]: 22: Hoare triple {4536#(<= |ULTIMATE.start_main_~n~0#1| 1)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {4537#(<= |mult_#in~n| 1)} is VALID [2022-02-21 03:08:21,515 INFO L290 TraceCheckUtils]: 23: Hoare triple {4537#(<= |mult_#in~n| 1)} ~n := #in~n;~m := #in~m; {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,515 INFO L290 TraceCheckUtils]: 24: Hoare triple {4538#(<= mult_~n 1)} assume !(~m < 0); {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {4538#(<= mult_~n 1)} assume !(0 == ~m); {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,516 INFO L290 TraceCheckUtils]: 26: Hoare triple {4538#(<= mult_~n 1)} assume ~m - 1 <= 2147483647; {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,516 INFO L290 TraceCheckUtils]: 27: Hoare triple {4538#(<= mult_~n 1)} assume ~m - 1 >= -2147483648; {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,516 INFO L272 TraceCheckUtils]: 28: Hoare triple {4538#(<= mult_~n 1)} call #t~ret5 := mult(~n, ~m - 1); {4518#true} is VALID [2022-02-21 03:08:21,516 INFO L290 TraceCheckUtils]: 29: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4518#true} is VALID [2022-02-21 03:08:21,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {4518#true} assume !(~m < 0); {4518#true} is VALID [2022-02-21 03:08:21,517 INFO L290 TraceCheckUtils]: 31: Hoare triple {4518#true} assume 0 == ~m;#res := 0; {4553#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:21,517 INFO L290 TraceCheckUtils]: 32: Hoare triple {4553#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} assume true; {4553#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} is VALID [2022-02-21 03:08:21,518 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4553#(and (<= 0 |mult_#res|) (<= |mult_#res| 0))} {4538#(<= mult_~n 1)} #56#return; {4544#(and (<= mult_~n 1) (= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:21,519 INFO L290 TraceCheckUtils]: 34: Hoare triple {4544#(and (<= mult_~n 1) (= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4544#(and (<= mult_~n 1) (= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:21,519 INFO L290 TraceCheckUtils]: 35: Hoare triple {4544#(and (<= mult_~n 1) (= |mult_#t~ret5| 0))} assume !(~n + #t~ret5 <= 2147483647); {4519#false} is VALID [2022-02-21 03:08:21,519 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 22 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:08:21,519 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:21,520 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1030731518] [2022-02-21 03:08:21,520 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1030731518] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:08:21,520 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2059446080] [2022-02-21 03:08:21,520 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:21,520 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:21,520 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:08:21,536 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-21 03:08:21,537 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-21 03:08:21,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:21,578 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-21 03:08:21,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:21,589 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:08:21,801 INFO L290 TraceCheckUtils]: 0: Hoare triple {4518#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(20, 2);call #Ultimate.allocInit(12, 3); {4518#true} is VALID [2022-02-21 03:08:21,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {4518#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {4518#true} is VALID [2022-02-21 03:08:21,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {4518#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4518#true} is VALID [2022-02-21 03:08:21,801 INFO L290 TraceCheckUtils]: 3: Hoare triple {4518#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {4518#true} is VALID [2022-02-21 03:08:21,801 INFO L272 TraceCheckUtils]: 4: Hoare triple {4518#true} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {4518#true} is VALID [2022-02-21 03:08:21,802 INFO L290 TraceCheckUtils]: 5: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4572#(<= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,802 INFO L290 TraceCheckUtils]: 6: Hoare triple {4572#(<= |mult_#in~m| mult_~m)} assume !(~m < 0); {4572#(<= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {4572#(<= |mult_#in~m| mult_~m)} assume !(0 == ~m); {4572#(<= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {4572#(<= |mult_#in~m| mult_~m)} assume ~m - 1 <= 2147483647; {4572#(<= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {4572#(<= |mult_#in~m| mult_~m)} assume ~m - 1 >= -2147483648; {4572#(<= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,803 INFO L272 TraceCheckUtils]: 10: Hoare triple {4572#(<= |mult_#in~m| mult_~m)} call #t~ret5 := mult(~n, ~m - 1); {4518#true} is VALID [2022-02-21 03:08:21,803 INFO L290 TraceCheckUtils]: 11: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4572#(<= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,804 INFO L290 TraceCheckUtils]: 12: Hoare triple {4572#(<= |mult_#in~m| mult_~m)} assume !(~m < 0); {4572#(<= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:08:21,804 INFO L290 TraceCheckUtils]: 13: Hoare triple {4572#(<= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:21,804 INFO L290 TraceCheckUtils]: 14: Hoare triple {4552#(<= |mult_#in~m| 0)} assume true; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:21,805 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4552#(<= |mult_#in~m| 0)} {4572#(<= |mult_#in~m| mult_~m)} #56#return; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,805 INFO L290 TraceCheckUtils]: 16: Hoare triple {4551#(<= |mult_#in~m| 1)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,805 INFO L290 TraceCheckUtils]: 17: Hoare triple {4551#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 <= 2147483647; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,806 INFO L290 TraceCheckUtils]: 18: Hoare triple {4551#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,806 INFO L290 TraceCheckUtils]: 19: Hoare triple {4551#(<= |mult_#in~m| 1)} assume true; {4551#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:08:21,807 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4551#(<= |mult_#in~m| 1)} {4518#true} #58#return; {4536#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-21 03:08:21,807 INFO L290 TraceCheckUtils]: 21: Hoare triple {4536#(<= |ULTIMATE.start_main_~n~0#1| 1)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {4536#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-21 03:08:21,807 INFO L272 TraceCheckUtils]: 22: Hoare triple {4536#(<= |ULTIMATE.start_main_~n~0#1| 1)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {4537#(<= |mult_#in~n| 1)} is VALID [2022-02-21 03:08:21,808 INFO L290 TraceCheckUtils]: 23: Hoare triple {4537#(<= |mult_#in~n| 1)} ~n := #in~n;~m := #in~m; {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,808 INFO L290 TraceCheckUtils]: 24: Hoare triple {4538#(<= mult_~n 1)} assume !(~m < 0); {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,808 INFO L290 TraceCheckUtils]: 25: Hoare triple {4538#(<= mult_~n 1)} assume !(0 == ~m); {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,809 INFO L290 TraceCheckUtils]: 26: Hoare triple {4538#(<= mult_~n 1)} assume ~m - 1 <= 2147483647; {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,809 INFO L290 TraceCheckUtils]: 27: Hoare triple {4538#(<= mult_~n 1)} assume ~m - 1 >= -2147483648; {4538#(<= mult_~n 1)} is VALID [2022-02-21 03:08:21,809 INFO L272 TraceCheckUtils]: 28: Hoare triple {4538#(<= mult_~n 1)} call #t~ret5 := mult(~n, ~m - 1); {4518#true} is VALID [2022-02-21 03:08:21,809 INFO L290 TraceCheckUtils]: 29: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4518#true} is VALID [2022-02-21 03:08:21,809 INFO L290 TraceCheckUtils]: 30: Hoare triple {4518#true} assume !(~m < 0); {4518#true} is VALID [2022-02-21 03:08:21,809 INFO L290 TraceCheckUtils]: 31: Hoare triple {4518#true} assume 0 == ~m;#res := 0; {4651#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:21,810 INFO L290 TraceCheckUtils]: 32: Hoare triple {4651#(<= |mult_#res| 0)} assume true; {4651#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:21,810 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4651#(<= |mult_#res| 0)} {4538#(<= mult_~n 1)} #56#return; {4658#(and (<= mult_~n 1) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:21,811 INFO L290 TraceCheckUtils]: 34: Hoare triple {4658#(and (<= mult_~n 1) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4658#(and (<= mult_~n 1) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:21,811 INFO L290 TraceCheckUtils]: 35: Hoare triple {4658#(and (<= mult_~n 1) (<= |mult_#t~ret5| 0))} assume !(~n + #t~ret5 <= 2147483647); {4519#false} is VALID [2022-02-21 03:08:21,811 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 22 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:08:21,811 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:08:22,392 INFO L290 TraceCheckUtils]: 35: Hoare triple {4665#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume !(~n + #t~ret5 <= 2147483647); {4519#false} is VALID [2022-02-21 03:08:22,393 INFO L290 TraceCheckUtils]: 34: Hoare triple {4665#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4665#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:08:22,393 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4651#(<= |mult_#res| 0)} {4672#(<= mult_~n 2147483647)} #56#return; {4665#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:08:22,394 INFO L290 TraceCheckUtils]: 32: Hoare triple {4651#(<= |mult_#res| 0)} assume true; {4651#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:22,394 INFO L290 TraceCheckUtils]: 31: Hoare triple {4518#true} assume 0 == ~m;#res := 0; {4651#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:22,394 INFO L290 TraceCheckUtils]: 30: Hoare triple {4518#true} assume !(~m < 0); {4518#true} is VALID [2022-02-21 03:08:22,394 INFO L290 TraceCheckUtils]: 29: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4518#true} is VALID [2022-02-21 03:08:22,394 INFO L272 TraceCheckUtils]: 28: Hoare triple {4672#(<= mult_~n 2147483647)} call #t~ret5 := mult(~n, ~m - 1); {4518#true} is VALID [2022-02-21 03:08:22,394 INFO L290 TraceCheckUtils]: 27: Hoare triple {4672#(<= mult_~n 2147483647)} assume ~m - 1 >= -2147483648; {4672#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:22,395 INFO L290 TraceCheckUtils]: 26: Hoare triple {4672#(<= mult_~n 2147483647)} assume ~m - 1 <= 2147483647; {4672#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:22,395 INFO L290 TraceCheckUtils]: 25: Hoare triple {4672#(<= mult_~n 2147483647)} assume !(0 == ~m); {4672#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:22,395 INFO L290 TraceCheckUtils]: 24: Hoare triple {4672#(<= mult_~n 2147483647)} assume !(~m < 0); {4672#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:22,396 INFO L290 TraceCheckUtils]: 23: Hoare triple {4703#(<= |mult_#in~n| 2147483647)} ~n := #in~n;~m := #in~m; {4672#(<= mult_~n 2147483647)} is VALID [2022-02-21 03:08:22,396 INFO L272 TraceCheckUtils]: 22: Hoare triple {4707#(<= |ULTIMATE.start_main_~n~0#1| 2147483647)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {4703#(<= |mult_#in~n| 2147483647)} is VALID [2022-02-21 03:08:22,396 INFO L290 TraceCheckUtils]: 21: Hoare triple {4707#(<= |ULTIMATE.start_main_~n~0#1| 2147483647)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {4707#(<= |ULTIMATE.start_main_~n~0#1| 2147483647)} is VALID [2022-02-21 03:08:22,397 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4717#(<= |mult_#in~m| 2147483647)} {4518#true} #58#return; {4707#(<= |ULTIMATE.start_main_~n~0#1| 2147483647)} is VALID [2022-02-21 03:08:22,397 INFO L290 TraceCheckUtils]: 19: Hoare triple {4717#(<= |mult_#in~m| 2147483647)} assume true; {4717#(<= |mult_#in~m| 2147483647)} is VALID [2022-02-21 03:08:22,397 INFO L290 TraceCheckUtils]: 18: Hoare triple {4717#(<= |mult_#in~m| 2147483647)} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {4717#(<= |mult_#in~m| 2147483647)} is VALID [2022-02-21 03:08:22,398 INFO L290 TraceCheckUtils]: 17: Hoare triple {4717#(<= |mult_#in~m| 2147483647)} assume ~n + #t~ret5 <= 2147483647; {4717#(<= |mult_#in~m| 2147483647)} is VALID [2022-02-21 03:08:22,398 INFO L290 TraceCheckUtils]: 16: Hoare triple {4717#(<= |mult_#in~m| 2147483647)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {4717#(<= |mult_#in~m| 2147483647)} is VALID [2022-02-21 03:08:22,399 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4552#(<= |mult_#in~m| 0)} {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} #56#return; {4717#(<= |mult_#in~m| 2147483647)} is VALID [2022-02-21 03:08:22,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {4552#(<= |mult_#in~m| 0)} assume true; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:22,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {4743#(or (not (<= mult_~m 0)) (<= |mult_#in~m| 0))} assume 0 == ~m;#res := 0; {4552#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:08:22,400 INFO L290 TraceCheckUtils]: 12: Hoare triple {4743#(or (not (<= mult_~m 0)) (<= |mult_#in~m| 0))} assume !(~m < 0); {4743#(or (not (<= mult_~m 0)) (<= |mult_#in~m| 0))} is VALID [2022-02-21 03:08:22,400 INFO L290 TraceCheckUtils]: 11: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4743#(or (not (<= mult_~m 0)) (<= |mult_#in~m| 0))} is VALID [2022-02-21 03:08:22,400 INFO L272 TraceCheckUtils]: 10: Hoare triple {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} call #t~ret5 := mult(~n, ~m - 1); {4518#true} is VALID [2022-02-21 03:08:22,400 INFO L290 TraceCheckUtils]: 9: Hoare triple {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} assume ~m - 1 >= -2147483648; {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} is VALID [2022-02-21 03:08:22,401 INFO L290 TraceCheckUtils]: 8: Hoare triple {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} assume ~m - 1 <= 2147483647; {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} is VALID [2022-02-21 03:08:22,401 INFO L290 TraceCheckUtils]: 7: Hoare triple {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} assume !(0 == ~m); {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} is VALID [2022-02-21 03:08:22,401 INFO L290 TraceCheckUtils]: 6: Hoare triple {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} assume !(~m < 0); {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} is VALID [2022-02-21 03:08:22,401 INFO L290 TraceCheckUtils]: 5: Hoare triple {4518#true} ~n := #in~n;~m := #in~m; {4733#(or (<= |mult_#in~m| 2147483647) (< 1 mult_~m))} is VALID [2022-02-21 03:08:22,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {4518#true} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {4518#true} is VALID [2022-02-21 03:08:22,402 INFO L290 TraceCheckUtils]: 3: Hoare triple {4518#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {4518#true} is VALID [2022-02-21 03:08:22,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {4518#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4518#true} is VALID [2022-02-21 03:08:22,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {4518#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {4518#true} is VALID [2022-02-21 03:08:22,402 INFO L290 TraceCheckUtils]: 0: Hoare triple {4518#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(20, 2);call #Ultimate.allocInit(12, 3); {4518#true} is VALID [2022-02-21 03:08:22,402 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 24 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-21 03:08:22,402 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2059446080] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:08:22,402 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:08:22,402 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 10] total 19 [2022-02-21 03:08:22,402 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1277893277] [2022-02-21 03:08:22,402 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:08:22,403 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.0) internal successors, (57), 18 states have internal predecessors, (57), 8 states have call successors, (8), 3 states have call predecessors, (8), 5 states have return successors, (8), 7 states have call predecessors, (8), 6 states have call successors, (8) Word has length 36 [2022-02-21 03:08:22,404 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:08:22,404 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 3.0) internal successors, (57), 18 states have internal predecessors, (57), 8 states have call successors, (8), 3 states have call predecessors, (8), 5 states have return successors, (8), 7 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-21 03:08:22,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:22,454 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-21 03:08:22,454 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:08:22,454 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-21 03:08:22,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=320, Unknown=0, NotChecked=0, Total=380 [2022-02-21 03:08:22,454 INFO L87 Difference]: Start difference. First operand 65 states and 74 transitions. Second operand has 20 states, 19 states have (on average 3.0) internal successors, (57), 18 states have internal predecessors, (57), 8 states have call successors, (8), 3 states have call predecessors, (8), 5 states have return successors, (8), 7 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-21 03:08:23,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:23,334 INFO L93 Difference]: Finished difference Result 128 states and 145 transitions. [2022-02-21 03:08:23,334 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-02-21 03:08:23,335 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.0) internal successors, (57), 18 states have internal predecessors, (57), 8 states have call successors, (8), 3 states have call predecessors, (8), 5 states have return successors, (8), 7 states have call predecessors, (8), 6 states have call successors, (8) Word has length 36 [2022-02-21 03:08:23,335 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:08:23,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.0) internal successors, (57), 18 states have internal predecessors, (57), 8 states have call successors, (8), 3 states have call predecessors, (8), 5 states have return successors, (8), 7 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-21 03:08:23,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 85 transitions. [2022-02-21 03:08:23,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.0) internal successors, (57), 18 states have internal predecessors, (57), 8 states have call successors, (8), 3 states have call predecessors, (8), 5 states have return successors, (8), 7 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-21 03:08:23,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 85 transitions. [2022-02-21 03:08:23,337 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 85 transitions. [2022-02-21 03:08:23,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:08:23,396 INFO L225 Difference]: With dead ends: 128 [2022-02-21 03:08:23,396 INFO L226 Difference]: Without dead ends: 123 [2022-02-21 03:08:23,397 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 243 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=342, Invalid=1140, Unknown=0, NotChecked=0, Total=1482 [2022-02-21 03:08:23,397 INFO L933 BasicCegarLoop]: 12 mSDtfsCounter, 145 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 293 mSolverCounterSat, 91 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 145 SdHoareTripleChecker+Valid, 119 SdHoareTripleChecker+Invalid, 384 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 91 IncrementalHoareTripleChecker+Valid, 293 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-21 03:08:23,398 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [145 Valid, 119 Invalid, 384 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [91 Valid, 293 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-21 03:08:23,398 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-02-21 03:08:23,437 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 69. [2022-02-21 03:08:23,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:08:23,438 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand has 69 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 54 states have internal predecessors, (60), 6 states have call successors, (6), 4 states have call predecessors, (6), 7 states have return successors, (12), 10 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-21 03:08:23,438 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand has 69 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 54 states have internal predecessors, (60), 6 states have call successors, (6), 4 states have call predecessors, (6), 7 states have return successors, (12), 10 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-21 03:08:23,438 INFO L87 Difference]: Start difference. First operand 123 states. Second operand has 69 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 54 states have internal predecessors, (60), 6 states have call successors, (6), 4 states have call predecessors, (6), 7 states have return successors, (12), 10 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-21 03:08:23,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:23,440 INFO L93 Difference]: Finished difference Result 123 states and 137 transitions. [2022-02-21 03:08:23,440 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 137 transitions. [2022-02-21 03:08:23,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:23,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:23,441 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 54 states have internal predecessors, (60), 6 states have call successors, (6), 4 states have call predecessors, (6), 7 states have return successors, (12), 10 states have call predecessors, (12), 5 states have call successors, (12) Second operand 123 states. [2022-02-21 03:08:23,441 INFO L87 Difference]: Start difference. First operand has 69 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 54 states have internal predecessors, (60), 6 states have call successors, (6), 4 states have call predecessors, (6), 7 states have return successors, (12), 10 states have call predecessors, (12), 5 states have call successors, (12) Second operand 123 states. [2022-02-21 03:08:23,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:08:23,443 INFO L93 Difference]: Finished difference Result 123 states and 137 transitions. [2022-02-21 03:08:23,443 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 137 transitions. [2022-02-21 03:08:23,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:08:23,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:08:23,443 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:08:23,443 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:08:23,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 54 states have internal predecessors, (60), 6 states have call successors, (6), 4 states have call predecessors, (6), 7 states have return successors, (12), 10 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-21 03:08:23,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 78 transitions. [2022-02-21 03:08:23,447 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 78 transitions. Word has length 36 [2022-02-21 03:08:23,447 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:08:23,448 INFO L470 AbstractCegarLoop]: Abstraction has 69 states and 78 transitions. [2022-02-21 03:08:23,448 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 3.0) internal successors, (57), 18 states have internal predecessors, (57), 8 states have call successors, (8), 3 states have call predecessors, (8), 5 states have return successors, (8), 7 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-21 03:08:23,448 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 78 transitions. [2022-02-21 03:08:23,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-21 03:08:23,450 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:08:23,450 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:08:23,467 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-02-21 03:08:23,665 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:23,665 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting multErr4ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:08:23,666 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:08:23,666 INFO L85 PathProgramCache]: Analyzing trace with hash -421481335, now seen corresponding path program 2 times [2022-02-21 03:08:23,666 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:08:23,666 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [591764372] [2022-02-21 03:08:23,666 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:08:23,666 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:08:23,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:23,722 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-21 03:08:23,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:23,762 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:08:23,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:23,797 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:08:23,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:23,839 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:08:23,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:23,851 INFO L290 TraceCheckUtils]: 0: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5285#true} is VALID [2022-02-21 03:08:23,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {5285#true} assume !(~m < 0); {5285#true} is VALID [2022-02-21 03:08:23,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {5285#true} assume 0 == ~m;#res := 0; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,852 INFO L290 TraceCheckUtils]: 3: Hoare triple {5384#(<= |mult_#res| 0)} assume true; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,852 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {5384#(<= |mult_#res| 0)} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,853 INFO L290 TraceCheckUtils]: 0: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,854 INFO L290 TraceCheckUtils]: 3: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,854 INFO L290 TraceCheckUtils]: 4: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,854 INFO L272 TraceCheckUtils]: 5: Hoare triple {5329#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,854 INFO L290 TraceCheckUtils]: 6: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5285#true} is VALID [2022-02-21 03:08:23,854 INFO L290 TraceCheckUtils]: 7: Hoare triple {5285#true} assume !(~m < 0); {5285#true} is VALID [2022-02-21 03:08:23,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {5285#true} assume 0 == ~m;#res := 0; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {5384#(<= |mult_#res| 0)} assume true; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5384#(<= |mult_#res| 0)} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,856 INFO L290 TraceCheckUtils]: 11: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,856 INFO L290 TraceCheckUtils]: 12: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,857 INFO L290 TraceCheckUtils]: 13: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:23,857 INFO L290 TraceCheckUtils]: 14: Hoare triple {5383#(<= |mult_#res| |mult_#in~n|)} assume true; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:23,857 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5383#(<= |mult_#res| |mult_#in~n|)} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,858 INFO L290 TraceCheckUtils]: 0: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,859 INFO L290 TraceCheckUtils]: 3: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,859 INFO L290 TraceCheckUtils]: 4: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,859 INFO L272 TraceCheckUtils]: 5: Hoare triple {5329#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,859 INFO L290 TraceCheckUtils]: 6: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,860 INFO L290 TraceCheckUtils]: 8: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,860 INFO L290 TraceCheckUtils]: 9: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,861 INFO L290 TraceCheckUtils]: 10: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,861 INFO L272 TraceCheckUtils]: 11: Hoare triple {5329#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,861 INFO L290 TraceCheckUtils]: 12: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5285#true} is VALID [2022-02-21 03:08:23,861 INFO L290 TraceCheckUtils]: 13: Hoare triple {5285#true} assume !(~m < 0); {5285#true} is VALID [2022-02-21 03:08:23,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {5285#true} assume 0 == ~m;#res := 0; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {5384#(<= |mult_#res| 0)} assume true; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,862 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5384#(<= |mult_#res| 0)} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,863 INFO L290 TraceCheckUtils]: 17: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,863 INFO L290 TraceCheckUtils]: 18: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,863 INFO L290 TraceCheckUtils]: 19: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:23,866 INFO L290 TraceCheckUtils]: 20: Hoare triple {5383#(<= |mult_#res| |mult_#in~n|)} assume true; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:23,866 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5383#(<= |mult_#res| |mult_#in~n|)} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,867 INFO L290 TraceCheckUtils]: 22: Hoare triple {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,867 INFO L290 TraceCheckUtils]: 23: Hoare triple {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 <= 2147483647; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,867 INFO L290 TraceCheckUtils]: 24: Hoare triple {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,868 INFO L290 TraceCheckUtils]: 25: Hoare triple {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} assume true; {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,868 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:08:23,869 INFO L290 TraceCheckUtils]: 0: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,870 INFO L290 TraceCheckUtils]: 3: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,870 INFO L290 TraceCheckUtils]: 4: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,870 INFO L272 TraceCheckUtils]: 5: Hoare triple {5329#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,871 INFO L290 TraceCheckUtils]: 6: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,871 INFO L290 TraceCheckUtils]: 8: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,872 INFO L290 TraceCheckUtils]: 10: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,872 INFO L272 TraceCheckUtils]: 11: Hoare triple {5329#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,872 INFO L290 TraceCheckUtils]: 12: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,873 INFO L290 TraceCheckUtils]: 13: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,873 INFO L290 TraceCheckUtils]: 14: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,873 INFO L290 TraceCheckUtils]: 15: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,873 INFO L290 TraceCheckUtils]: 16: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,874 INFO L272 TraceCheckUtils]: 17: Hoare triple {5329#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,874 INFO L290 TraceCheckUtils]: 18: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5285#true} is VALID [2022-02-21 03:08:23,874 INFO L290 TraceCheckUtils]: 19: Hoare triple {5285#true} assume !(~m < 0); {5285#true} is VALID [2022-02-21 03:08:23,874 INFO L290 TraceCheckUtils]: 20: Hoare triple {5285#true} assume 0 == ~m;#res := 0; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,874 INFO L290 TraceCheckUtils]: 21: Hoare triple {5384#(<= |mult_#res| 0)} assume true; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,875 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5384#(<= |mult_#res| 0)} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,875 INFO L290 TraceCheckUtils]: 23: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,876 INFO L290 TraceCheckUtils]: 24: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,876 INFO L290 TraceCheckUtils]: 25: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:23,876 INFO L290 TraceCheckUtils]: 26: Hoare triple {5383#(<= |mult_#res| |mult_#in~n|)} assume true; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:23,877 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5383#(<= |mult_#res| |mult_#in~n|)} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,877 INFO L290 TraceCheckUtils]: 28: Hoare triple {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,878 INFO L290 TraceCheckUtils]: 29: Hoare triple {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 <= 2147483647; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,878 INFO L290 TraceCheckUtils]: 30: Hoare triple {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,878 INFO L290 TraceCheckUtils]: 31: Hoare triple {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} assume true; {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,879 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:08:23,879 INFO L290 TraceCheckUtils]: 33: Hoare triple {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:08:23,880 INFO L290 TraceCheckUtils]: 34: Hoare triple {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume ~n + #t~ret5 <= 2147483647; {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:08:23,880 INFO L290 TraceCheckUtils]: 35: Hoare triple {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,880 INFO L290 TraceCheckUtils]: 36: Hoare triple {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} assume true; {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,881 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} {5289#(<= mult_~n 46340)} #56#return; {5328#(<= (+ |mult_#t~ret5| mult_~n) 185360)} is VALID [2022-02-21 03:08:23,881 INFO L290 TraceCheckUtils]: 0: Hoare triple {5285#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(20, 2);call #Ultimate.allocInit(12, 3); {5285#true} is VALID [2022-02-21 03:08:23,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {5285#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {5285#true} is VALID [2022-02-21 03:08:23,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {5285#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5287#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:23,882 INFO L290 TraceCheckUtils]: 3: Hoare triple {5287#(<= |ULTIMATE.start_main_~m~0#1| 46340)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {5287#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:23,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {5287#(<= |ULTIMATE.start_main_~m~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {5288#(<= |mult_#in~n| 46340)} is VALID [2022-02-21 03:08:23,883 INFO L290 TraceCheckUtils]: 5: Hoare triple {5288#(<= |mult_#in~n| 46340)} ~n := #in~n;~m := #in~m; {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:23,883 INFO L290 TraceCheckUtils]: 6: Hoare triple {5289#(<= mult_~n 46340)} assume !(~m < 0); {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:23,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {5289#(<= mult_~n 46340)} assume !(0 == ~m); {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:23,883 INFO L290 TraceCheckUtils]: 8: Hoare triple {5289#(<= mult_~n 46340)} assume ~m - 1 <= 2147483647; {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:23,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {5289#(<= mult_~n 46340)} assume ~m - 1 >= -2147483648; {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:23,884 INFO L272 TraceCheckUtils]: 10: Hoare triple {5289#(<= mult_~n 46340)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,884 INFO L290 TraceCheckUtils]: 12: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,885 INFO L290 TraceCheckUtils]: 15: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,886 INFO L272 TraceCheckUtils]: 16: Hoare triple {5329#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,886 INFO L290 TraceCheckUtils]: 17: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,886 INFO L290 TraceCheckUtils]: 18: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,886 INFO L290 TraceCheckUtils]: 19: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,887 INFO L290 TraceCheckUtils]: 20: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,887 INFO L290 TraceCheckUtils]: 21: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,887 INFO L272 TraceCheckUtils]: 22: Hoare triple {5329#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,887 INFO L290 TraceCheckUtils]: 23: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,888 INFO L290 TraceCheckUtils]: 24: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,888 INFO L290 TraceCheckUtils]: 25: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,888 INFO L290 TraceCheckUtils]: 26: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,889 INFO L290 TraceCheckUtils]: 27: Hoare triple {5329#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {5329#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:08:23,889 INFO L272 TraceCheckUtils]: 28: Hoare triple {5329#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:23,889 INFO L290 TraceCheckUtils]: 29: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5285#true} is VALID [2022-02-21 03:08:23,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {5285#true} assume !(~m < 0); {5285#true} is VALID [2022-02-21 03:08:23,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {5285#true} assume 0 == ~m;#res := 0; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,890 INFO L290 TraceCheckUtils]: 32: Hoare triple {5384#(<= |mult_#res| 0)} assume true; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:23,890 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5384#(<= |mult_#res| 0)} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,890 INFO L290 TraceCheckUtils]: 34: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:23,891 INFO L290 TraceCheckUtils]: 36: Hoare triple {5382#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:23,891 INFO L290 TraceCheckUtils]: 37: Hoare triple {5383#(<= |mult_#res| |mult_#in~n|)} assume true; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:23,892 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5383#(<= |mult_#res| |mult_#in~n|)} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,892 INFO L290 TraceCheckUtils]: 39: Hoare triple {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,893 INFO L290 TraceCheckUtils]: 40: Hoare triple {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 <= 2147483647; {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:23,893 INFO L290 TraceCheckUtils]: 41: Hoare triple {5375#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,893 INFO L290 TraceCheckUtils]: 42: Hoare triple {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} assume true; {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,894 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} {5329#(= |mult_#in~n| mult_~n)} #56#return; {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:08:23,894 INFO L290 TraceCheckUtils]: 44: Hoare triple {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:08:23,895 INFO L290 TraceCheckUtils]: 45: Hoare triple {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume ~n + #t~ret5 <= 2147483647; {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:08:23,895 INFO L290 TraceCheckUtils]: 46: Hoare triple {5357#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,895 INFO L290 TraceCheckUtils]: 47: Hoare triple {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} assume true; {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:08:23,896 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} {5289#(<= mult_~n 46340)} #56#return; {5328#(<= (+ |mult_#t~ret5| mult_~n) 185360)} is VALID [2022-02-21 03:08:23,896 INFO L290 TraceCheckUtils]: 49: Hoare triple {5328#(<= (+ |mult_#t~ret5| mult_~n) 185360)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5328#(<= (+ |mult_#t~ret5| mult_~n) 185360)} is VALID [2022-02-21 03:08:23,897 INFO L290 TraceCheckUtils]: 50: Hoare triple {5328#(<= (+ |mult_#t~ret5| mult_~n) 185360)} assume !(~n + #t~ret5 <= 2147483647); {5286#false} is VALID [2022-02-21 03:08:23,897 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 0 proven. 54 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-02-21 03:08:23,897 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:08:23,897 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [591764372] [2022-02-21 03:08:23,897 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [591764372] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:08:23,897 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2130398770] [2022-02-21 03:08:23,898 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 03:08:23,898 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:08:23,898 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:08:23,910 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-21 03:08:23,911 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-21 03:08:23,948 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 03:08:23,948 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 03:08:23,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-21 03:08:23,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:08:23,960 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:08:24,469 INFO L290 TraceCheckUtils]: 0: Hoare triple {5285#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(20, 2);call #Ultimate.allocInit(12, 3); {5285#true} is VALID [2022-02-21 03:08:24,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {5285#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {5285#true} is VALID [2022-02-21 03:08:24,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {5285#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5287#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:24,470 INFO L290 TraceCheckUtils]: 3: Hoare triple {5287#(<= |ULTIMATE.start_main_~m~0#1| 46340)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {5287#(<= |ULTIMATE.start_main_~m~0#1| 46340)} is VALID [2022-02-21 03:08:24,471 INFO L272 TraceCheckUtils]: 4: Hoare triple {5287#(<= |ULTIMATE.start_main_~m~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {5288#(<= |mult_#in~n| 46340)} is VALID [2022-02-21 03:08:24,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {5288#(<= |mult_#in~n| 46340)} ~n := #in~n;~m := #in~m; {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:24,472 INFO L290 TraceCheckUtils]: 6: Hoare triple {5289#(<= mult_~n 46340)} assume !(~m < 0); {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:24,472 INFO L290 TraceCheckUtils]: 7: Hoare triple {5289#(<= mult_~n 46340)} assume !(0 == ~m); {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:24,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {5289#(<= mult_~n 46340)} assume ~m - 1 <= 2147483647; {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:24,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {5289#(<= mult_~n 46340)} assume ~m - 1 >= -2147483648; {5289#(<= mult_~n 46340)} is VALID [2022-02-21 03:08:24,473 INFO L272 TraceCheckUtils]: 10: Hoare triple {5289#(<= mult_~n 46340)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:24,473 INFO L290 TraceCheckUtils]: 11: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,473 INFO L290 TraceCheckUtils]: 12: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume !(~m < 0); {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,474 INFO L290 TraceCheckUtils]: 13: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume !(0 == ~m); {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,474 INFO L290 TraceCheckUtils]: 14: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume ~m - 1 <= 2147483647; {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,474 INFO L290 TraceCheckUtils]: 15: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume ~m - 1 >= -2147483648; {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,474 INFO L272 TraceCheckUtils]: 16: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:24,475 INFO L290 TraceCheckUtils]: 17: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume !(~m < 0); {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume !(0 == ~m); {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume ~m - 1 <= 2147483647; {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,476 INFO L290 TraceCheckUtils]: 21: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume ~m - 1 >= -2147483648; {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,476 INFO L272 TraceCheckUtils]: 22: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:24,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,477 INFO L290 TraceCheckUtils]: 24: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume !(~m < 0); {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,477 INFO L290 TraceCheckUtils]: 25: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume !(0 == ~m); {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,478 INFO L290 TraceCheckUtils]: 26: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume ~m - 1 <= 2147483647; {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,478 INFO L290 TraceCheckUtils]: 27: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} assume ~m - 1 >= -2147483648; {5421#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:08:24,478 INFO L272 TraceCheckUtils]: 28: Hoare triple {5421#(<= mult_~n |mult_#in~n|)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:08:24,478 INFO L290 TraceCheckUtils]: 29: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5285#true} is VALID [2022-02-21 03:08:24,478 INFO L290 TraceCheckUtils]: 30: Hoare triple {5285#true} assume !(~m < 0); {5285#true} is VALID [2022-02-21 03:08:24,479 INFO L290 TraceCheckUtils]: 31: Hoare triple {5285#true} assume 0 == ~m;#res := 0; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:24,479 INFO L290 TraceCheckUtils]: 32: Hoare triple {5384#(<= |mult_#res| 0)} assume true; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:08:24,480 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5384#(<= |mult_#res| 0)} {5421#(<= mult_~n |mult_#in~n|)} #56#return; {5488#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:24,480 INFO L290 TraceCheckUtils]: 34: Hoare triple {5488#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5488#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:24,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {5488#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {5488#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:08:24,481 INFO L290 TraceCheckUtils]: 36: Hoare triple {5488#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:24,481 INFO L290 TraceCheckUtils]: 37: Hoare triple {5383#(<= |mult_#res| |mult_#in~n|)} assume true; {5383#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:08:24,482 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5383#(<= |mult_#res| |mult_#in~n|)} {5421#(<= mult_~n |mult_#in~n|)} #56#return; {5504#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:24,483 INFO L290 TraceCheckUtils]: 39: Hoare triple {5504#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5504#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:24,483 INFO L290 TraceCheckUtils]: 40: Hoare triple {5504#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 <= 2147483647; {5504#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:08:24,483 INFO L290 TraceCheckUtils]: 41: Hoare triple {5504#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:08:24,484 INFO L290 TraceCheckUtils]: 42: Hoare triple {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} assume true; {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:08:24,485 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {5376#(<= |mult_#res| (* 2 |mult_#in~n|))} {5421#(<= mult_~n |mult_#in~n|)} #56#return; {5520#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} is VALID [2022-02-21 03:08:24,485 INFO L290 TraceCheckUtils]: 44: Hoare triple {5520#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5520#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} is VALID [2022-02-21 03:08:24,485 INFO L290 TraceCheckUtils]: 45: Hoare triple {5520#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} assume ~n + #t~ret5 <= 2147483647; {5520#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} is VALID [2022-02-21 03:08:24,486 INFO L290 TraceCheckUtils]: 46: Hoare triple {5520#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:08:24,486 INFO L290 TraceCheckUtils]: 47: Hoare triple {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} assume true; {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:08:24,487 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5358#(<= |mult_#res| (* 3 |mult_#in~n|))} {5289#(<= mult_~n 46340)} #56#return; {5536#(and (<= (div (- |mult_#t~ret5|) (- 3)) mult_~n) (<= mult_~n 46340))} is VALID [2022-02-21 03:08:24,488 INFO L290 TraceCheckUtils]: 49: Hoare triple {5536#(and (<= (div (- |mult_#t~ret5|) (- 3)) mult_~n) (<= mult_~n 46340))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5536#(and (<= (div (- |mult_#t~ret5|) (- 3)) mult_~n) (<= mult_~n 46340))} is VALID [2022-02-21 03:08:24,488 INFO L290 TraceCheckUtils]: 50: Hoare triple {5536#(and (<= (div (- |mult_#t~ret5|) (- 3)) mult_~n) (<= mult_~n 46340))} assume !(~n + #t~ret5 <= 2147483647); {5286#false} is VALID [2022-02-21 03:08:24,488 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 0 proven. 54 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-02-21 03:08:24,488 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:09:16,523 INFO L290 TraceCheckUtils]: 50: Hoare triple {5543#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume !(~n + #t~ret5 <= 2147483647); {5286#false} is VALID [2022-02-21 03:09:16,524 INFO L290 TraceCheckUtils]: 49: Hoare triple {5543#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5543#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:09:16,525 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5554#(or (< 536870911 |mult_#in~n|) (<= |mult_#res| 1610612736))} {5550#(<= (* 2 mult_~n) 1073741823)} #56#return; {5543#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:09:16,525 INFO L290 TraceCheckUtils]: 47: Hoare triple {5554#(or (< 536870911 |mult_#in~n|) (<= |mult_#res| 1610612736))} assume true; {5554#(or (< 536870911 |mult_#in~n|) (<= |mult_#res| 1610612736))} is VALID [2022-02-21 03:09:16,526 INFO L290 TraceCheckUtils]: 46: Hoare triple {5561#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5554#(or (< 536870911 |mult_#in~n|) (<= |mult_#res| 1610612736))} is VALID [2022-02-21 03:09:16,526 INFO L290 TraceCheckUtils]: 45: Hoare triple {5561#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} assume ~n + #t~ret5 <= 2147483647; {5561#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} is VALID [2022-02-21 03:09:16,527 INFO L290 TraceCheckUtils]: 44: Hoare triple {5561#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5561#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} is VALID [2022-02-21 03:09:16,528 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {5575#(or (<= (div (* (- 1) |mult_#res|) (- 2)) 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} #56#return; {5561#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} is VALID [2022-02-21 03:09:16,528 INFO L290 TraceCheckUtils]: 42: Hoare triple {5575#(or (<= (div (* (- 1) |mult_#res|) (- 2)) 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} assume true; {5575#(or (<= (div (* (- 1) |mult_#res|) (- 2)) 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,529 INFO L290 TraceCheckUtils]: 41: Hoare triple {5582#(or (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912) (<= (div (+ (- 2) (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|)) (- 2)) 536870913))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5575#(or (<= (div (* (- 1) |mult_#res|) (- 2)) 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,529 INFO L290 TraceCheckUtils]: 40: Hoare triple {5582#(or (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912) (<= (div (+ (- 2) (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|)) (- 2)) 536870913))} assume ~n + #t~ret5 <= 2147483647; {5582#(or (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912) (<= (div (+ (- 2) (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|)) (- 2)) 536870913))} is VALID [2022-02-21 03:09:16,530 INFO L290 TraceCheckUtils]: 39: Hoare triple {5582#(or (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912) (<= (div (+ (- 2) (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|)) (- 2)) 536870913))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5582#(or (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912) (<= (div (+ (- 2) (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|)) (- 2)) 536870913))} is VALID [2022-02-21 03:09:16,531 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5596#(or (<= (div (+ (- 536870916) (* (- 1) |mult_#res|)) (- 2)) 536870914) (< 536870912 |mult_#in~n|))} {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} #56#return; {5582#(or (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912) (<= (div (+ (- 2) (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|)) (- 2)) 536870913))} is VALID [2022-02-21 03:09:16,531 INFO L290 TraceCheckUtils]: 37: Hoare triple {5596#(or (<= (div (+ (- 536870916) (* (- 1) |mult_#res|)) (- 2)) 536870914) (< 536870912 |mult_#in~n|))} assume true; {5596#(or (<= (div (+ (- 536870916) (* (- 1) |mult_#res|)) (- 2)) 536870914) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:16,532 INFO L290 TraceCheckUtils]: 36: Hoare triple {5603#(or (<= (div (+ (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|) (- 536870918)) (- 2)) 536870915) (< 536870912 |mult_#in~n|))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {5596#(or (<= (div (+ (- 536870916) (* (- 1) |mult_#res|)) (- 2)) 536870914) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:16,533 INFO L290 TraceCheckUtils]: 35: Hoare triple {5603#(or (<= (div (+ (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|) (- 536870918)) (- 2)) 536870915) (< 536870912 |mult_#in~n|))} assume ~n + #t~ret5 <= 2147483647; {5603#(or (<= (div (+ (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|) (- 536870918)) (- 2)) 536870915) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:16,533 INFO L290 TraceCheckUtils]: 34: Hoare triple {5603#(or (<= (div (+ (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|) (- 536870918)) (- 2)) 536870915) (< 536870912 |mult_#in~n|))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {5603#(or (<= (div (+ (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|) (- 536870918)) (- 2)) 536870915) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:16,534 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5384#(<= |mult_#res| 0)} {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} #56#return; {5603#(or (<= (div (+ (* (- 1) mult_~n) (* (- 1) |mult_#t~ret5|) (- 536870918)) (- 2)) 536870915) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:16,534 INFO L290 TraceCheckUtils]: 32: Hoare triple {5384#(<= |mult_#res| 0)} assume true; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:16,534 INFO L290 TraceCheckUtils]: 31: Hoare triple {5285#true} assume 0 == ~m;#res := 0; {5384#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:16,535 INFO L290 TraceCheckUtils]: 30: Hoare triple {5285#true} assume !(~m < 0); {5285#true} is VALID [2022-02-21 03:09:16,535 INFO L290 TraceCheckUtils]: 29: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5285#true} is VALID [2022-02-21 03:09:16,535 INFO L272 TraceCheckUtils]: 28: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:09:16,535 INFO L290 TraceCheckUtils]: 27: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} assume ~m - 1 >= -2147483648; {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,535 INFO L290 TraceCheckUtils]: 26: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} assume ~m - 1 <= 2147483647; {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} assume !(0 == ~m); {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} assume !(~m < 0); {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,537 INFO L290 TraceCheckUtils]: 23: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,537 INFO L272 TraceCheckUtils]: 22: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:09:16,537 INFO L290 TraceCheckUtils]: 21: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} assume ~m - 1 >= -2147483648; {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,538 INFO L290 TraceCheckUtils]: 20: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} assume ~m - 1 <= 2147483647; {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,538 INFO L290 TraceCheckUtils]: 19: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} assume !(0 == ~m); {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,538 INFO L290 TraceCheckUtils]: 18: Hoare triple {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} assume !(~m < 0); {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,539 INFO L290 TraceCheckUtils]: 17: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5592#(or (<= mult_~n 536870912) (<= (div (+ |mult_#in~n| (- 1610612737)) (- 2)) 536870912))} is VALID [2022-02-21 03:09:16,539 INFO L272 TraceCheckUtils]: 16: Hoare triple {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:09:16,539 INFO L290 TraceCheckUtils]: 15: Hoare triple {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} assume ~m - 1 >= -2147483648; {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} is VALID [2022-02-21 03:09:16,540 INFO L290 TraceCheckUtils]: 14: Hoare triple {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} assume ~m - 1 <= 2147483647; {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} is VALID [2022-02-21 03:09:16,540 INFO L290 TraceCheckUtils]: 13: Hoare triple {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} assume !(0 == ~m); {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} is VALID [2022-02-21 03:09:16,541 INFO L290 TraceCheckUtils]: 12: Hoare triple {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} assume !(~m < 0); {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} is VALID [2022-02-21 03:09:16,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {5285#true} ~n := #in~n;~m := #in~m; {5571#(or (< 536870911 |mult_#in~n|) (<= mult_~n (div (+ (* (- 1) mult_~n) 1610612736) 2)))} is VALID [2022-02-21 03:09:16,541 INFO L272 TraceCheckUtils]: 10: Hoare triple {5550#(<= (* 2 mult_~n) 1073741823)} call #t~ret5 := mult(~n, ~m - 1); {5285#true} is VALID [2022-02-21 03:09:16,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {5550#(<= (* 2 mult_~n) 1073741823)} assume ~m - 1 >= -2147483648; {5550#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:16,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {5550#(<= (* 2 mult_~n) 1073741823)} assume ~m - 1 <= 2147483647; {5550#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:16,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {5550#(<= (* 2 mult_~n) 1073741823)} assume !(0 == ~m); {5550#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:16,542 INFO L290 TraceCheckUtils]: 6: Hoare triple {5550#(<= (* 2 mult_~n) 1073741823)} assume !(~m < 0); {5550#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:16,543 INFO L290 TraceCheckUtils]: 5: Hoare triple {5688#(<= |mult_#in~n| 536870911)} ~n := #in~n;~m := #in~m; {5550#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:16,543 INFO L272 TraceCheckUtils]: 4: Hoare triple {5692#(<= |ULTIMATE.start_main_~m~0#1| 536870911)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {5688#(<= |mult_#in~n| 536870911)} is VALID [2022-02-21 03:09:16,544 INFO L290 TraceCheckUtils]: 3: Hoare triple {5692#(<= |ULTIMATE.start_main_~m~0#1| 536870911)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {5692#(<= |ULTIMATE.start_main_~m~0#1| 536870911)} is VALID [2022-02-21 03:09:16,544 INFO L290 TraceCheckUtils]: 2: Hoare triple {5285#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5692#(<= |ULTIMATE.start_main_~m~0#1| 536870911)} is VALID [2022-02-21 03:09:16,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {5285#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {5285#true} is VALID [2022-02-21 03:09:16,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {5285#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(20, 2);call #Ultimate.allocInit(12, 3); {5285#true} is VALID [2022-02-21 03:09:16,545 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 10 proven. 54 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-02-21 03:09:16,545 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2130398770] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:09:16,545 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:09:16,545 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 14] total 30 [2022-02-21 03:09:16,545 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1699119700] [2022-02-21 03:09:16,545 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:09:16,546 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 29 states have internal predecessors, (79), 8 states have call successors, (8), 3 states have call predecessors, (8), 7 states have return successors, (12), 12 states have call predecessors, (12), 6 states have call successors, (12) Word has length 51 [2022-02-21 03:09:16,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:09:16,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 31 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 29 states have internal predecessors, (79), 8 states have call successors, (8), 3 states have call predecessors, (8), 7 states have return successors, (12), 12 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-21 03:09:16,637 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:09:16,638 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-02-21 03:09:16,638 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:09:16,638 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-02-21 03:09:16,638 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=794, Unknown=0, NotChecked=0, Total=930 [2022-02-21 03:09:16,639 INFO L87 Difference]: Start difference. First operand 69 states and 78 transitions. Second operand has 31 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 29 states have internal predecessors, (79), 8 states have call successors, (8), 3 states have call predecessors, (8), 7 states have return successors, (12), 12 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-21 03:09:18,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:09:18,230 INFO L93 Difference]: Finished difference Result 140 states and 162 transitions. [2022-02-21 03:09:18,230 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-02-21 03:09:18,230 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 29 states have internal predecessors, (79), 8 states have call successors, (8), 3 states have call predecessors, (8), 7 states have return successors, (12), 12 states have call predecessors, (12), 6 states have call successors, (12) Word has length 51 [2022-02-21 03:09:18,230 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:09:18,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 29 states have internal predecessors, (79), 8 states have call successors, (8), 3 states have call predecessors, (8), 7 states have return successors, (12), 12 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-21 03:09:18,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 97 transitions. [2022-02-21 03:09:18,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 29 states have internal predecessors, (79), 8 states have call successors, (8), 3 states have call predecessors, (8), 7 states have return successors, (12), 12 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-21 03:09:18,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 97 transitions. [2022-02-21 03:09:18,233 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 97 transitions. [2022-02-21 03:09:18,312 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:09:18,314 INFO L225 Difference]: With dead ends: 140 [2022-02-21 03:09:18,314 INFO L226 Difference]: Without dead ends: 139 [2022-02-21 03:09:18,315 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 146 GetRequests, 87 SyntacticMatches, 5 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 674 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=510, Invalid=2570, Unknown=0, NotChecked=0, Total=3080 [2022-02-21 03:09:18,315 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 222 mSDsluCounter, 203 mSDsCounter, 0 mSdLazyCounter, 436 mSolverCounterSat, 133 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 234 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 569 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 133 IncrementalHoareTripleChecker+Valid, 436 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-21 03:09:18,315 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [234 Valid, 220 Invalid, 569 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [133 Valid, 436 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-21 03:09:18,316 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2022-02-21 03:09:18,354 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 89. [2022-02-21 03:09:18,355 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:09:18,355 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand has 89 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 70 states have internal predecessors, (76), 6 states have call successors, (6), 4 states have call predecessors, (6), 11 states have return successors, (20), 14 states have call predecessors, (20), 5 states have call successors, (20) [2022-02-21 03:09:18,356 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand has 89 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 70 states have internal predecessors, (76), 6 states have call successors, (6), 4 states have call predecessors, (6), 11 states have return successors, (20), 14 states have call predecessors, (20), 5 states have call successors, (20) [2022-02-21 03:09:18,356 INFO L87 Difference]: Start difference. First operand 139 states. Second operand has 89 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 70 states have internal predecessors, (76), 6 states have call successors, (6), 4 states have call predecessors, (6), 11 states have return successors, (20), 14 states have call predecessors, (20), 5 states have call successors, (20) [2022-02-21 03:09:18,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:09:18,358 INFO L93 Difference]: Finished difference Result 139 states and 154 transitions. [2022-02-21 03:09:18,358 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 154 transitions. [2022-02-21 03:09:18,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:09:18,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:09:18,361 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 70 states have internal predecessors, (76), 6 states have call successors, (6), 4 states have call predecessors, (6), 11 states have return successors, (20), 14 states have call predecessors, (20), 5 states have call successors, (20) Second operand 139 states. [2022-02-21 03:09:18,361 INFO L87 Difference]: Start difference. First operand has 89 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 70 states have internal predecessors, (76), 6 states have call successors, (6), 4 states have call predecessors, (6), 11 states have return successors, (20), 14 states have call predecessors, (20), 5 states have call successors, (20) Second operand 139 states. [2022-02-21 03:09:18,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:09:18,365 INFO L93 Difference]: Finished difference Result 139 states and 154 transitions. [2022-02-21 03:09:18,365 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 154 transitions. [2022-02-21 03:09:18,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:09:18,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:09:18,365 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:09:18,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:09:18,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 70 states have internal predecessors, (76), 6 states have call successors, (6), 4 states have call predecessors, (6), 11 states have return successors, (20), 14 states have call predecessors, (20), 5 states have call successors, (20) [2022-02-21 03:09:18,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 102 transitions. [2022-02-21 03:09:18,368 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 102 transitions. Word has length 51 [2022-02-21 03:09:18,369 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:09:18,369 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 102 transitions. [2022-02-21 03:09:18,370 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 30 states have (on average 2.6333333333333333) internal successors, (79), 29 states have internal predecessors, (79), 8 states have call successors, (8), 3 states have call predecessors, (8), 7 states have return successors, (12), 12 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-21 03:09:18,370 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 102 transitions. [2022-02-21 03:09:18,371 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-21 03:09:18,371 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:09:18,372 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:09:18,390 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-02-21 03:09:18,579 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:09:18,580 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting multErr4ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:09:18,580 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:09:18,580 INFO L85 PathProgramCache]: Analyzing trace with hash -1225939680, now seen corresponding path program 2 times [2022-02-21 03:09:18,580 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:09:18,580 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [620498634] [2022-02-21 03:09:18,580 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:09:18,580 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:09:18,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:18,626 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-21 03:09:18,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:18,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:09:18,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:18,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6282#true} is VALID [2022-02-21 03:09:18,638 INFO L290 TraceCheckUtils]: 3: Hoare triple {6282#true} assume true; {6282#true} is VALID [2022-02-21 03:09:18,638 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {6282#true} {6282#true} #56#return; {6282#true} is VALID [2022-02-21 03:09:18,638 INFO L290 TraceCheckUtils]: 0: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {6282#true} assume !(0 == ~m); {6282#true} is VALID [2022-02-21 03:09:18,638 INFO L290 TraceCheckUtils]: 3: Hoare triple {6282#true} assume ~m - 1 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:18,639 INFO L290 TraceCheckUtils]: 4: Hoare triple {6282#true} assume ~m - 1 >= -2147483648; {6282#true} is VALID [2022-02-21 03:09:18,639 INFO L272 TraceCheckUtils]: 5: Hoare triple {6282#true} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:18,639 INFO L290 TraceCheckUtils]: 6: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,639 INFO L290 TraceCheckUtils]: 7: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,639 INFO L290 TraceCheckUtils]: 8: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6282#true} is VALID [2022-02-21 03:09:18,639 INFO L290 TraceCheckUtils]: 9: Hoare triple {6282#true} assume true; {6282#true} is VALID [2022-02-21 03:09:18,639 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6282#true} {6282#true} #56#return; {6282#true} is VALID [2022-02-21 03:09:18,639 INFO L290 TraceCheckUtils]: 11: Hoare triple {6282#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:18,640 INFO L290 TraceCheckUtils]: 12: Hoare triple {6282#true} assume ~n + #t~ret5 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:18,640 INFO L290 TraceCheckUtils]: 13: Hoare triple {6282#true} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {6282#true} is VALID [2022-02-21 03:09:18,640 INFO L290 TraceCheckUtils]: 14: Hoare triple {6282#true} assume true; {6282#true} is VALID [2022-02-21 03:09:18,640 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6282#true} {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} #58#return; {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} is VALID [2022-02-21 03:09:18,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-02-21 03:09:18,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:18,671 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:09:18,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:18,683 INFO L290 TraceCheckUtils]: 0: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:18,684 INFO L290 TraceCheckUtils]: 3: Hoare triple {6333#(<= |mult_#res| 0)} assume true; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:18,685 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {6333#(<= |mult_#res| 0)} {6325#(= |mult_#in~n| mult_~n)} #56#return; {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,685 INFO L290 TraceCheckUtils]: 0: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {6325#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {6325#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,686 INFO L290 TraceCheckUtils]: 3: Hoare triple {6325#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,687 INFO L290 TraceCheckUtils]: 4: Hoare triple {6325#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,687 INFO L272 TraceCheckUtils]: 5: Hoare triple {6325#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:18,687 INFO L290 TraceCheckUtils]: 6: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,687 INFO L290 TraceCheckUtils]: 7: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,687 INFO L290 TraceCheckUtils]: 8: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:18,688 INFO L290 TraceCheckUtils]: 9: Hoare triple {6333#(<= |mult_#res| 0)} assume true; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:18,688 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6333#(<= |mult_#res| 0)} {6325#(= |mult_#in~n| mult_~n)} #56#return; {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,689 INFO L290 TraceCheckUtils]: 12: Hoare triple {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {6332#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:18,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {6332#(<= |mult_#res| |mult_#in~n|)} assume true; {6332#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:18,691 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6332#(<= |mult_#res| |mult_#in~n|)} {6302#(<= mult_~n 46340)} #56#return; {6319#(<= (+ |mult_#t~ret5| mult_~n) 92680)} is VALID [2022-02-21 03:09:18,691 INFO L290 TraceCheckUtils]: 0: Hoare triple {6282#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(20, 2);call #Ultimate.allocInit(12, 3); {6282#true} is VALID [2022-02-21 03:09:18,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {6282#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {6282#true} is VALID [2022-02-21 03:09:18,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {6282#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {6282#true} is VALID [2022-02-21 03:09:18,692 INFO L290 TraceCheckUtils]: 3: Hoare triple {6282#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} is VALID [2022-02-21 03:09:18,692 INFO L272 TraceCheckUtils]: 4: Hoare triple {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {6282#true} is VALID [2022-02-21 03:09:18,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,692 INFO L290 TraceCheckUtils]: 6: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {6282#true} assume !(0 == ~m); {6282#true} is VALID [2022-02-21 03:09:18,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {6282#true} assume ~m - 1 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:18,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {6282#true} assume ~m - 1 >= -2147483648; {6282#true} is VALID [2022-02-21 03:09:18,693 INFO L272 TraceCheckUtils]: 10: Hoare triple {6282#true} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:18,693 INFO L290 TraceCheckUtils]: 11: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6282#true} is VALID [2022-02-21 03:09:18,693 INFO L290 TraceCheckUtils]: 14: Hoare triple {6282#true} assume true; {6282#true} is VALID [2022-02-21 03:09:18,693 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6282#true} {6282#true} #56#return; {6282#true} is VALID [2022-02-21 03:09:18,693 INFO L290 TraceCheckUtils]: 16: Hoare triple {6282#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:18,693 INFO L290 TraceCheckUtils]: 17: Hoare triple {6282#true} assume ~n + #t~ret5 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:18,693 INFO L290 TraceCheckUtils]: 18: Hoare triple {6282#true} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {6282#true} is VALID [2022-02-21 03:09:18,694 INFO L290 TraceCheckUtils]: 19: Hoare triple {6282#true} assume true; {6282#true} is VALID [2022-02-21 03:09:18,694 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {6282#true} {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} #58#return; {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} is VALID [2022-02-21 03:09:18,694 INFO L290 TraceCheckUtils]: 21: Hoare triple {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} is VALID [2022-02-21 03:09:18,695 INFO L272 TraceCheckUtils]: 22: Hoare triple {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {6301#(<= |mult_#in~n| 46340)} is VALID [2022-02-21 03:09:18,695 INFO L290 TraceCheckUtils]: 23: Hoare triple {6301#(<= |mult_#in~n| 46340)} ~n := #in~n;~m := #in~m; {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,695 INFO L290 TraceCheckUtils]: 24: Hoare triple {6302#(<= mult_~n 46340)} assume !(~m < 0); {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,696 INFO L290 TraceCheckUtils]: 25: Hoare triple {6302#(<= mult_~n 46340)} assume !(0 == ~m); {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,696 INFO L290 TraceCheckUtils]: 26: Hoare triple {6302#(<= mult_~n 46340)} assume ~m - 1 <= 2147483647; {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,696 INFO L290 TraceCheckUtils]: 27: Hoare triple {6302#(<= mult_~n 46340)} assume ~m - 1 >= -2147483648; {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,696 INFO L272 TraceCheckUtils]: 28: Hoare triple {6302#(<= mult_~n 46340)} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:18,697 INFO L290 TraceCheckUtils]: 29: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {6325#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {6325#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,697 INFO L290 TraceCheckUtils]: 32: Hoare triple {6325#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {6325#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {6325#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:18,698 INFO L272 TraceCheckUtils]: 34: Hoare triple {6325#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:18,698 INFO L290 TraceCheckUtils]: 35: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,698 INFO L290 TraceCheckUtils]: 36: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,698 INFO L290 TraceCheckUtils]: 37: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:18,699 INFO L290 TraceCheckUtils]: 38: Hoare triple {6333#(<= |mult_#res| 0)} assume true; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:18,700 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6333#(<= |mult_#res| 0)} {6325#(= |mult_#in~n| mult_~n)} #56#return; {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,700 INFO L290 TraceCheckUtils]: 40: Hoare triple {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,700 INFO L290 TraceCheckUtils]: 41: Hoare triple {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,701 INFO L290 TraceCheckUtils]: 42: Hoare triple {6331#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {6332#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:18,701 INFO L290 TraceCheckUtils]: 43: Hoare triple {6332#(<= |mult_#res| |mult_#in~n|)} assume true; {6332#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:18,702 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6332#(<= |mult_#res| |mult_#in~n|)} {6302#(<= mult_~n 46340)} #56#return; {6319#(<= (+ |mult_#t~ret5| mult_~n) 92680)} is VALID [2022-02-21 03:09:18,702 INFO L290 TraceCheckUtils]: 45: Hoare triple {6319#(<= (+ |mult_#t~ret5| mult_~n) 92680)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6319#(<= (+ |mult_#t~ret5| mult_~n) 92680)} is VALID [2022-02-21 03:09:18,703 INFO L290 TraceCheckUtils]: 46: Hoare triple {6319#(<= (+ |mult_#t~ret5| mult_~n) 92680)} assume !(~n + #t~ret5 <= 2147483647); {6283#false} is VALID [2022-02-21 03:09:18,703 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 29 proven. 15 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-02-21 03:09:18,703 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:09:18,703 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [620498634] [2022-02-21 03:09:18,703 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [620498634] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:09:18,704 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1807083210] [2022-02-21 03:09:18,704 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 03:09:18,704 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:09:18,704 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:09:18,705 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-21 03:09:18,707 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-21 03:09:18,757 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 03:09:18,757 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 03:09:18,758 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-21 03:09:18,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:18,775 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:09:18,965 INFO L290 TraceCheckUtils]: 0: Hoare triple {6282#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(20, 2);call #Ultimate.allocInit(12, 3); {6282#true} is VALID [2022-02-21 03:09:18,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {6282#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {6282#true} is VALID [2022-02-21 03:09:18,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {6282#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L290 TraceCheckUtils]: 3: Hoare triple {6282#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} is VALID [2022-02-21 03:09:18,966 INFO L272 TraceCheckUtils]: 4: Hoare triple {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L290 TraceCheckUtils]: 5: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L290 TraceCheckUtils]: 6: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L290 TraceCheckUtils]: 7: Hoare triple {6282#true} assume !(0 == ~m); {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L290 TraceCheckUtils]: 8: Hoare triple {6282#true} assume ~m - 1 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {6282#true} assume ~m - 1 >= -2147483648; {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L272 TraceCheckUtils]: 10: Hoare triple {6282#true} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L290 TraceCheckUtils]: 12: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,966 INFO L290 TraceCheckUtils]: 13: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6282#true} is VALID [2022-02-21 03:09:18,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {6282#true} assume true; {6282#true} is VALID [2022-02-21 03:09:18,967 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6282#true} {6282#true} #56#return; {6282#true} is VALID [2022-02-21 03:09:18,967 INFO L290 TraceCheckUtils]: 16: Hoare triple {6282#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:18,967 INFO L290 TraceCheckUtils]: 17: Hoare triple {6282#true} assume ~n + #t~ret5 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:18,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {6282#true} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {6282#true} is VALID [2022-02-21 03:09:18,967 INFO L290 TraceCheckUtils]: 19: Hoare triple {6282#true} assume true; {6282#true} is VALID [2022-02-21 03:09:18,967 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {6282#true} {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} #58#return; {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} is VALID [2022-02-21 03:09:18,968 INFO L290 TraceCheckUtils]: 21: Hoare triple {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} is VALID [2022-02-21 03:09:18,968 INFO L272 TraceCheckUtils]: 22: Hoare triple {6284#(<= |ULTIMATE.start_main_~n~0#1| 46340)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {6301#(<= |mult_#in~n| 46340)} is VALID [2022-02-21 03:09:18,968 INFO L290 TraceCheckUtils]: 23: Hoare triple {6301#(<= |mult_#in~n| 46340)} ~n := #in~n;~m := #in~m; {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,969 INFO L290 TraceCheckUtils]: 24: Hoare triple {6302#(<= mult_~n 46340)} assume !(~m < 0); {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,969 INFO L290 TraceCheckUtils]: 25: Hoare triple {6302#(<= mult_~n 46340)} assume !(0 == ~m); {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,970 INFO L290 TraceCheckUtils]: 26: Hoare triple {6302#(<= mult_~n 46340)} assume ~m - 1 <= 2147483647; {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {6302#(<= mult_~n 46340)} assume ~m - 1 >= -2147483648; {6302#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:18,970 INFO L272 TraceCheckUtils]: 28: Hoare triple {6302#(<= mult_~n 46340)} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:18,971 INFO L290 TraceCheckUtils]: 29: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6424#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:18,971 INFO L290 TraceCheckUtils]: 30: Hoare triple {6424#(<= mult_~n |mult_#in~n|)} assume !(~m < 0); {6424#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:18,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {6424#(<= mult_~n |mult_#in~n|)} assume !(0 == ~m); {6424#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:18,971 INFO L290 TraceCheckUtils]: 32: Hoare triple {6424#(<= mult_~n |mult_#in~n|)} assume ~m - 1 <= 2147483647; {6424#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:18,972 INFO L290 TraceCheckUtils]: 33: Hoare triple {6424#(<= mult_~n |mult_#in~n|)} assume ~m - 1 >= -2147483648; {6424#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:18,972 INFO L272 TraceCheckUtils]: 34: Hoare triple {6424#(<= mult_~n |mult_#in~n|)} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:18,972 INFO L290 TraceCheckUtils]: 35: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:18,972 INFO L290 TraceCheckUtils]: 36: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:18,972 INFO L290 TraceCheckUtils]: 37: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:18,972 INFO L290 TraceCheckUtils]: 38: Hoare triple {6333#(<= |mult_#res| 0)} assume true; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:18,973 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6333#(<= |mult_#res| 0)} {6424#(<= mult_~n |mult_#in~n|)} #56#return; {6455#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,973 INFO L290 TraceCheckUtils]: 40: Hoare triple {6455#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6455#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,974 INFO L290 TraceCheckUtils]: 41: Hoare triple {6455#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {6455#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:18,974 INFO L290 TraceCheckUtils]: 42: Hoare triple {6455#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {6332#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:18,974 INFO L290 TraceCheckUtils]: 43: Hoare triple {6332#(<= |mult_#res| |mult_#in~n|)} assume true; {6332#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:18,975 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6332#(<= |mult_#res| |mult_#in~n|)} {6302#(<= mult_~n 46340)} #56#return; {6471#(and (<= |mult_#t~ret5| mult_~n) (<= mult_~n 46340))} is VALID [2022-02-21 03:09:18,975 INFO L290 TraceCheckUtils]: 45: Hoare triple {6471#(and (<= |mult_#t~ret5| mult_~n) (<= mult_~n 46340))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6471#(and (<= |mult_#t~ret5| mult_~n) (<= mult_~n 46340))} is VALID [2022-02-21 03:09:18,976 INFO L290 TraceCheckUtils]: 46: Hoare triple {6471#(and (<= |mult_#t~ret5| mult_~n) (<= mult_~n 46340))} assume !(~n + #t~ret5 <= 2147483647); {6283#false} is VALID [2022-02-21 03:09:18,976 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 29 proven. 15 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-02-21 03:09:18,976 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:09:19,442 INFO L290 TraceCheckUtils]: 46: Hoare triple {6478#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume !(~n + #t~ret5 <= 2147483647); {6283#false} is VALID [2022-02-21 03:09:19,443 INFO L290 TraceCheckUtils]: 45: Hoare triple {6478#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6478#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:09:19,444 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6489#(or (<= |mult_#res| 1073741824) (< 1073741823 |mult_#in~n|))} {6485#(<= (* 2 mult_~n) 2147483647)} #56#return; {6478#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:09:19,444 INFO L290 TraceCheckUtils]: 43: Hoare triple {6489#(or (<= |mult_#res| 1073741824) (< 1073741823 |mult_#in~n|))} assume true; {6489#(or (<= |mult_#res| 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:09:19,444 INFO L290 TraceCheckUtils]: 42: Hoare triple {6496#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {6489#(or (<= |mult_#res| 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:09:19,445 INFO L290 TraceCheckUtils]: 41: Hoare triple {6496#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} assume ~n + #t~ret5 <= 2147483647; {6496#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} is VALID [2022-02-21 03:09:19,445 INFO L290 TraceCheckUtils]: 40: Hoare triple {6496#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6496#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} is VALID [2022-02-21 03:09:19,446 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6333#(<= |mult_#res| 0)} {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} #56#return; {6496#(or (< 1073741823 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1073741824))} is VALID [2022-02-21 03:09:19,446 INFO L290 TraceCheckUtils]: 38: Hoare triple {6333#(<= |mult_#res| 0)} assume true; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:19,447 INFO L290 TraceCheckUtils]: 37: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6333#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:19,447 INFO L290 TraceCheckUtils]: 36: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:19,449 INFO L290 TraceCheckUtils]: 35: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:19,449 INFO L272 TraceCheckUtils]: 34: Hoare triple {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:19,449 INFO L290 TraceCheckUtils]: 33: Hoare triple {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} assume ~m - 1 >= -2147483648; {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:09:19,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} assume ~m - 1 <= 2147483647; {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:09:19,450 INFO L290 TraceCheckUtils]: 31: Hoare triple {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} assume !(0 == ~m); {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:09:19,450 INFO L290 TraceCheckUtils]: 30: Hoare triple {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} assume !(~m < 0); {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:09:19,450 INFO L290 TraceCheckUtils]: 29: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6506#(or (<= mult_~n 1073741824) (< 1073741823 |mult_#in~n|))} is VALID [2022-02-21 03:09:19,450 INFO L272 TraceCheckUtils]: 28: Hoare triple {6485#(<= (* 2 mult_~n) 2147483647)} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:19,453 INFO L290 TraceCheckUtils]: 27: Hoare triple {6485#(<= (* 2 mult_~n) 2147483647)} assume ~m - 1 >= -2147483648; {6485#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:09:19,454 INFO L290 TraceCheckUtils]: 26: Hoare triple {6485#(<= (* 2 mult_~n) 2147483647)} assume ~m - 1 <= 2147483647; {6485#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:09:19,454 INFO L290 TraceCheckUtils]: 25: Hoare triple {6485#(<= (* 2 mult_~n) 2147483647)} assume !(0 == ~m); {6485#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:09:19,454 INFO L290 TraceCheckUtils]: 24: Hoare triple {6485#(<= (* 2 mult_~n) 2147483647)} assume !(~m < 0); {6485#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:09:19,455 INFO L290 TraceCheckUtils]: 23: Hoare triple {6552#(<= |mult_#in~n| 1073741823)} ~n := #in~n;~m := #in~m; {6485#(<= (* 2 mult_~n) 2147483647)} is VALID [2022-02-21 03:09:19,455 INFO L272 TraceCheckUtils]: 22: Hoare triple {6556#(<= |ULTIMATE.start_main_~n~0#1| 1073741823)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {6552#(<= |mult_#in~n| 1073741823)} is VALID [2022-02-21 03:09:19,455 INFO L290 TraceCheckUtils]: 21: Hoare triple {6556#(<= |ULTIMATE.start_main_~n~0#1| 1073741823)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {6556#(<= |ULTIMATE.start_main_~n~0#1| 1073741823)} is VALID [2022-02-21 03:09:19,456 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {6282#true} {6556#(<= |ULTIMATE.start_main_~n~0#1| 1073741823)} #58#return; {6556#(<= |ULTIMATE.start_main_~n~0#1| 1073741823)} is VALID [2022-02-21 03:09:19,456 INFO L290 TraceCheckUtils]: 19: Hoare triple {6282#true} assume true; {6282#true} is VALID [2022-02-21 03:09:19,456 INFO L290 TraceCheckUtils]: 18: Hoare triple {6282#true} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {6282#true} is VALID [2022-02-21 03:09:19,456 INFO L290 TraceCheckUtils]: 17: Hoare triple {6282#true} assume ~n + #t~ret5 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:19,456 INFO L290 TraceCheckUtils]: 16: Hoare triple {6282#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:19,456 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6282#true} {6282#true} #56#return; {6282#true} is VALID [2022-02-21 03:09:19,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {6282#true} assume true; {6282#true} is VALID [2022-02-21 03:09:19,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {6282#true} assume 0 == ~m;#res := 0; {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L290 TraceCheckUtils]: 11: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L272 TraceCheckUtils]: 10: Hoare triple {6282#true} call #t~ret5 := mult(~n, ~m - 1); {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {6282#true} assume ~m - 1 >= -2147483648; {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {6282#true} assume ~m - 1 <= 2147483647; {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L290 TraceCheckUtils]: 7: Hoare triple {6282#true} assume !(0 == ~m); {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L290 TraceCheckUtils]: 6: Hoare triple {6282#true} assume !(~m < 0); {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L290 TraceCheckUtils]: 5: Hoare triple {6282#true} ~n := #in~n;~m := #in~m; {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L272 TraceCheckUtils]: 4: Hoare triple {6556#(<= |ULTIMATE.start_main_~n~0#1| 1073741823)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {6282#true} is VALID [2022-02-21 03:09:19,457 INFO L290 TraceCheckUtils]: 3: Hoare triple {6282#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {6556#(<= |ULTIMATE.start_main_~n~0#1| 1073741823)} is VALID [2022-02-21 03:09:19,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {6282#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {6282#true} is VALID [2022-02-21 03:09:19,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {6282#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {6282#true} is VALID [2022-02-21 03:09:19,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {6282#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(20, 2);call #Ultimate.allocInit(12, 3); {6282#true} is VALID [2022-02-21 03:09:19,458 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 29 proven. 15 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-02-21 03:09:19,458 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1807083210] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:09:19,458 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:09:19,458 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 19 [2022-02-21 03:09:19,458 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [999965506] [2022-02-21 03:09:19,458 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:09:19,459 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.210526315789474) internal successors, (61), 18 states have internal predecessors, (61), 8 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) Word has length 47 [2022-02-21 03:09:19,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:09:19,459 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 3.210526315789474) internal successors, (61), 18 states have internal predecessors, (61), 8 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-21 03:09:19,506 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:09:19,506 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-21 03:09:19,506 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:09:19,506 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-21 03:09:19,506 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-02-21 03:09:19,507 INFO L87 Difference]: Start difference. First operand 89 states and 102 transitions. Second operand has 20 states, 19 states have (on average 3.210526315789474) internal successors, (61), 18 states have internal predecessors, (61), 8 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-21 03:09:20,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:09:20,116 INFO L93 Difference]: Finished difference Result 110 states and 125 transitions. [2022-02-21 03:09:20,116 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-02-21 03:09:20,116 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.210526315789474) internal successors, (61), 18 states have internal predecessors, (61), 8 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) Word has length 47 [2022-02-21 03:09:20,116 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:09:20,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.210526315789474) internal successors, (61), 18 states have internal predecessors, (61), 8 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-21 03:09:20,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 58 transitions. [2022-02-21 03:09:20,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.210526315789474) internal successors, (61), 18 states have internal predecessors, (61), 8 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-21 03:09:20,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 58 transitions. [2022-02-21 03:09:20,118 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 58 transitions. [2022-02-21 03:09:20,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:09:20,164 INFO L225 Difference]: With dead ends: 110 [2022-02-21 03:09:20,164 INFO L226 Difference]: Without dead ends: 105 [2022-02-21 03:09:20,165 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=187, Invalid=743, Unknown=0, NotChecked=0, Total=930 [2022-02-21 03:09:20,165 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 93 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 176 mSolverCounterSat, 59 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 96 SdHoareTripleChecker+Valid, 188 SdHoareTripleChecker+Invalid, 235 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 59 IncrementalHoareTripleChecker+Valid, 176 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-21 03:09:20,165 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [96 Valid, 188 Invalid, 235 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [59 Valid, 176 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-21 03:09:20,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-02-21 03:09:20,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 99. [2022-02-21 03:09:20,201 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:09:20,201 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 99 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 78 states have internal predecessors, (84), 6 states have call successors, (6), 4 states have call predecessors, (6), 13 states have return successors, (22), 16 states have call predecessors, (22), 5 states have call successors, (22) [2022-02-21 03:09:20,202 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 99 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 78 states have internal predecessors, (84), 6 states have call successors, (6), 4 states have call predecessors, (6), 13 states have return successors, (22), 16 states have call predecessors, (22), 5 states have call successors, (22) [2022-02-21 03:09:20,202 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 99 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 78 states have internal predecessors, (84), 6 states have call successors, (6), 4 states have call predecessors, (6), 13 states have return successors, (22), 16 states have call predecessors, (22), 5 states have call successors, (22) [2022-02-21 03:09:20,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:09:20,204 INFO L93 Difference]: Finished difference Result 105 states and 117 transitions. [2022-02-21 03:09:20,204 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 117 transitions. [2022-02-21 03:09:20,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:09:20,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:09:20,204 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 78 states have internal predecessors, (84), 6 states have call successors, (6), 4 states have call predecessors, (6), 13 states have return successors, (22), 16 states have call predecessors, (22), 5 states have call successors, (22) Second operand 105 states. [2022-02-21 03:09:20,204 INFO L87 Difference]: Start difference. First operand has 99 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 78 states have internal predecessors, (84), 6 states have call successors, (6), 4 states have call predecessors, (6), 13 states have return successors, (22), 16 states have call predecessors, (22), 5 states have call successors, (22) Second operand 105 states. [2022-02-21 03:09:20,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:09:20,206 INFO L93 Difference]: Finished difference Result 105 states and 117 transitions. [2022-02-21 03:09:20,206 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 117 transitions. [2022-02-21 03:09:20,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:09:20,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:09:20,206 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:09:20,207 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:09:20,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 78 states have internal predecessors, (84), 6 states have call successors, (6), 4 states have call predecessors, (6), 13 states have return successors, (22), 16 states have call predecessors, (22), 5 states have call successors, (22) [2022-02-21 03:09:20,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 112 transitions. [2022-02-21 03:09:20,212 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 112 transitions. Word has length 47 [2022-02-21 03:09:20,213 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:09:20,213 INFO L470 AbstractCegarLoop]: Abstraction has 99 states and 112 transitions. [2022-02-21 03:09:20,213 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 3.210526315789474) internal successors, (61), 18 states have internal predecessors, (61), 8 states have call successors, (10), 3 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 8 states have call successors, (9) [2022-02-21 03:09:20,213 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 112 transitions. [2022-02-21 03:09:20,214 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-02-21 03:09:20,214 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:09:20,214 INFO L514 BasicCegarLoop]: trace histogram [7, 7, 6, 5, 5, 5, 5, 5, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:09:20,233 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-02-21 03:09:20,431 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-02-21 03:09:20,431 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting multErr4ASSERT_VIOLATIONINTEGER_OVERFLOW === [multErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, multErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 3 more)] === [2022-02-21 03:09:20,431 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:09:20,432 INFO L85 PathProgramCache]: Analyzing trace with hash 2003846306, now seen corresponding path program 3 times [2022-02-21 03:09:20,432 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:09:20,432 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1538593243] [2022-02-21 03:09:20,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:09:20,432 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:09:20,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:20,482 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-21 03:09:20,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:20,499 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:09:20,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:20,511 INFO L290 TraceCheckUtils]: 0: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,512 INFO L290 TraceCheckUtils]: 2: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {7151#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:09:20,512 INFO L290 TraceCheckUtils]: 3: Hoare triple {7151#(<= |mult_#in~m| 0)} assume true; {7151#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:09:20,513 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7151#(<= |mult_#in~m| 0)} {7144#(= |mult_#in~m| mult_~m)} #56#return; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,513 INFO L290 TraceCheckUtils]: 0: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume !(0 == ~m); {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,514 INFO L290 TraceCheckUtils]: 3: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume ~m - 1 <= 2147483647; {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,514 INFO L290 TraceCheckUtils]: 4: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume ~m - 1 >= -2147483648; {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,514 INFO L272 TraceCheckUtils]: 5: Hoare triple {7144#(= |mult_#in~m| mult_~m)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,515 INFO L290 TraceCheckUtils]: 6: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {7151#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:09:20,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {7151#(<= |mult_#in~m| 0)} assume true; {7151#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:09:20,516 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7151#(<= |mult_#in~m| 0)} {7144#(= |mult_#in~m| mult_~m)} #56#return; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,517 INFO L290 TraceCheckUtils]: 11: Hoare triple {7150#(<= |mult_#in~m| 1)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {7150#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 <= 2147483647; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {7150#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {7150#(<= |mult_#in~m| 1)} assume true; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,518 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7150#(<= |mult_#in~m| 1)} {7084#true} #58#return; {7102#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-21 03:09:20,518 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-02-21 03:09:20,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:20,567 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:09:20,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:20,611 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:09:20,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:20,645 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:09:20,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:20,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:20,663 INFO L290 TraceCheckUtils]: 1: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:20,663 INFO L290 TraceCheckUtils]: 2: Hoare triple {7084#true} assume 0 == ~m;#res := 0; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,663 INFO L290 TraceCheckUtils]: 3: Hoare triple {7207#(<= |mult_#res| 0)} assume true; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,664 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7207#(<= |mult_#res| 0)} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,665 INFO L290 TraceCheckUtils]: 0: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,666 INFO L290 TraceCheckUtils]: 3: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,666 INFO L290 TraceCheckUtils]: 4: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,666 INFO L272 TraceCheckUtils]: 5: Hoare triple {7152#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,666 INFO L290 TraceCheckUtils]: 6: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:20,666 INFO L290 TraceCheckUtils]: 7: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:20,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {7084#true} assume 0 == ~m;#res := 0; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,667 INFO L290 TraceCheckUtils]: 9: Hoare triple {7207#(<= |mult_#res| 0)} assume true; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7207#(<= |mult_#res| 0)} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,668 INFO L290 TraceCheckUtils]: 12: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:20,669 INFO L290 TraceCheckUtils]: 14: Hoare triple {7206#(<= |mult_#res| |mult_#in~n|)} assume true; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:20,670 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7206#(<= |mult_#res| |mult_#in~n|)} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,671 INFO L290 TraceCheckUtils]: 0: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,671 INFO L290 TraceCheckUtils]: 1: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,672 INFO L290 TraceCheckUtils]: 2: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,672 INFO L290 TraceCheckUtils]: 3: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,672 INFO L290 TraceCheckUtils]: 4: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,672 INFO L272 TraceCheckUtils]: 5: Hoare triple {7152#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,673 INFO L290 TraceCheckUtils]: 6: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,673 INFO L290 TraceCheckUtils]: 8: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,673 INFO L290 TraceCheckUtils]: 9: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,674 INFO L290 TraceCheckUtils]: 10: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,674 INFO L272 TraceCheckUtils]: 11: Hoare triple {7152#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:20,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:20,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {7084#true} assume 0 == ~m;#res := 0; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {7207#(<= |mult_#res| 0)} assume true; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,675 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7207#(<= |mult_#res| 0)} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,676 INFO L290 TraceCheckUtils]: 17: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,677 INFO L290 TraceCheckUtils]: 19: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:20,677 INFO L290 TraceCheckUtils]: 20: Hoare triple {7206#(<= |mult_#res| |mult_#in~n|)} assume true; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:20,677 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7206#(<= |mult_#res| |mult_#in~n|)} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,678 INFO L290 TraceCheckUtils]: 22: Hoare triple {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,678 INFO L290 TraceCheckUtils]: 23: Hoare triple {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 <= 2147483647; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,679 INFO L290 TraceCheckUtils]: 24: Hoare triple {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,679 INFO L290 TraceCheckUtils]: 25: Hoare triple {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} assume true; {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,680 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:09:20,680 INFO L290 TraceCheckUtils]: 0: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,680 INFO L290 TraceCheckUtils]: 1: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,681 INFO L290 TraceCheckUtils]: 3: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,681 INFO L290 TraceCheckUtils]: 4: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,681 INFO L272 TraceCheckUtils]: 5: Hoare triple {7152#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,682 INFO L290 TraceCheckUtils]: 6: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,682 INFO L290 TraceCheckUtils]: 8: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,683 INFO L290 TraceCheckUtils]: 10: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,683 INFO L272 TraceCheckUtils]: 11: Hoare triple {7152#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,683 INFO L290 TraceCheckUtils]: 12: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,683 INFO L290 TraceCheckUtils]: 13: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,684 INFO L290 TraceCheckUtils]: 14: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,684 INFO L290 TraceCheckUtils]: 15: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,684 INFO L290 TraceCheckUtils]: 16: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,684 INFO L272 TraceCheckUtils]: 17: Hoare triple {7152#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,684 INFO L290 TraceCheckUtils]: 18: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:20,684 INFO L290 TraceCheckUtils]: 19: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:20,685 INFO L290 TraceCheckUtils]: 20: Hoare triple {7084#true} assume 0 == ~m;#res := 0; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,685 INFO L290 TraceCheckUtils]: 21: Hoare triple {7207#(<= |mult_#res| 0)} assume true; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,686 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7207#(<= |mult_#res| 0)} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,686 INFO L290 TraceCheckUtils]: 23: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,686 INFO L290 TraceCheckUtils]: 24: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,687 INFO L290 TraceCheckUtils]: 25: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:20,687 INFO L290 TraceCheckUtils]: 26: Hoare triple {7206#(<= |mult_#res| |mult_#in~n|)} assume true; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:20,688 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7206#(<= |mult_#res| |mult_#in~n|)} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,688 INFO L290 TraceCheckUtils]: 28: Hoare triple {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,688 INFO L290 TraceCheckUtils]: 29: Hoare triple {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 <= 2147483647; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,689 INFO L290 TraceCheckUtils]: 31: Hoare triple {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} assume true; {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,690 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:09:20,690 INFO L290 TraceCheckUtils]: 33: Hoare triple {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:09:20,690 INFO L290 TraceCheckUtils]: 34: Hoare triple {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume ~n + #t~ret5 <= 2147483647; {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:09:20,691 INFO L290 TraceCheckUtils]: 35: Hoare triple {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,691 INFO L290 TraceCheckUtils]: 36: Hoare triple {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} assume true; {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,692 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} {7104#(<= mult_~n 1)} #56#return; {7143#(<= (+ |mult_#t~ret5| mult_~n) 4)} is VALID [2022-02-21 03:09:20,692 INFO L290 TraceCheckUtils]: 0: Hoare triple {7084#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(20, 2);call #Ultimate.allocInit(12, 3); {7084#true} is VALID [2022-02-21 03:09:20,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {7084#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {7084#true} is VALID [2022-02-21 03:09:20,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {7084#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {7084#true} is VALID [2022-02-21 03:09:20,692 INFO L290 TraceCheckUtils]: 3: Hoare triple {7084#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {7084#true} is VALID [2022-02-21 03:09:20,692 INFO L272 TraceCheckUtils]: 4: Hoare triple {7084#true} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {7084#true} is VALID [2022-02-21 03:09:20,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,693 INFO L290 TraceCheckUtils]: 6: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,693 INFO L290 TraceCheckUtils]: 7: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume !(0 == ~m); {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume ~m - 1 <= 2147483647; {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume ~m - 1 >= -2147483648; {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,694 INFO L272 TraceCheckUtils]: 10: Hoare triple {7144#(= |mult_#in~m| mult_~m)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,694 INFO L290 TraceCheckUtils]: 11: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,694 INFO L290 TraceCheckUtils]: 12: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume !(~m < 0); {7144#(= |mult_#in~m| mult_~m)} is VALID [2022-02-21 03:09:20,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {7144#(= |mult_#in~m| mult_~m)} assume 0 == ~m;#res := 0; {7151#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:09:20,695 INFO L290 TraceCheckUtils]: 14: Hoare triple {7151#(<= |mult_#in~m| 0)} assume true; {7151#(<= |mult_#in~m| 0)} is VALID [2022-02-21 03:09:20,696 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7151#(<= |mult_#in~m| 0)} {7144#(= |mult_#in~m| mult_~m)} #56#return; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,696 INFO L290 TraceCheckUtils]: 16: Hoare triple {7150#(<= |mult_#in~m| 1)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,697 INFO L290 TraceCheckUtils]: 17: Hoare triple {7150#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 <= 2147483647; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,697 INFO L290 TraceCheckUtils]: 18: Hoare triple {7150#(<= |mult_#in~m| 1)} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,697 INFO L290 TraceCheckUtils]: 19: Hoare triple {7150#(<= |mult_#in~m| 1)} assume true; {7150#(<= |mult_#in~m| 1)} is VALID [2022-02-21 03:09:20,698 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {7150#(<= |mult_#in~m| 1)} {7084#true} #58#return; {7102#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-21 03:09:20,698 INFO L290 TraceCheckUtils]: 21: Hoare triple {7102#(<= |ULTIMATE.start_main_~n~0#1| 1)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {7102#(<= |ULTIMATE.start_main_~n~0#1| 1)} is VALID [2022-02-21 03:09:20,698 INFO L272 TraceCheckUtils]: 22: Hoare triple {7102#(<= |ULTIMATE.start_main_~n~0#1| 1)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {7103#(<= |mult_#in~n| 1)} is VALID [2022-02-21 03:09:20,699 INFO L290 TraceCheckUtils]: 23: Hoare triple {7103#(<= |mult_#in~n| 1)} ~n := #in~n;~m := #in~m; {7104#(<= mult_~n 1)} is VALID [2022-02-21 03:09:20,699 INFO L290 TraceCheckUtils]: 24: Hoare triple {7104#(<= mult_~n 1)} assume !(~m < 0); {7104#(<= mult_~n 1)} is VALID [2022-02-21 03:09:20,699 INFO L290 TraceCheckUtils]: 25: Hoare triple {7104#(<= mult_~n 1)} assume !(0 == ~m); {7104#(<= mult_~n 1)} is VALID [2022-02-21 03:09:20,699 INFO L290 TraceCheckUtils]: 26: Hoare triple {7104#(<= mult_~n 1)} assume ~m - 1 <= 2147483647; {7104#(<= mult_~n 1)} is VALID [2022-02-21 03:09:20,700 INFO L290 TraceCheckUtils]: 27: Hoare triple {7104#(<= mult_~n 1)} assume ~m - 1 >= -2147483648; {7104#(<= mult_~n 1)} is VALID [2022-02-21 03:09:20,700 INFO L272 TraceCheckUtils]: 28: Hoare triple {7104#(<= mult_~n 1)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,700 INFO L290 TraceCheckUtils]: 29: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,700 INFO L290 TraceCheckUtils]: 30: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,701 INFO L290 TraceCheckUtils]: 31: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,701 INFO L290 TraceCheckUtils]: 32: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,701 INFO L290 TraceCheckUtils]: 33: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,701 INFO L272 TraceCheckUtils]: 34: Hoare triple {7152#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,702 INFO L290 TraceCheckUtils]: 35: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,702 INFO L290 TraceCheckUtils]: 36: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,702 INFO L290 TraceCheckUtils]: 37: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,702 INFO L290 TraceCheckUtils]: 38: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,703 INFO L290 TraceCheckUtils]: 39: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,703 INFO L272 TraceCheckUtils]: 40: Hoare triple {7152#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,703 INFO L290 TraceCheckUtils]: 41: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,704 INFO L290 TraceCheckUtils]: 42: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(~m < 0); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,704 INFO L290 TraceCheckUtils]: 43: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume !(0 == ~m); {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,704 INFO L290 TraceCheckUtils]: 44: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 <= 2147483647; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,705 INFO L290 TraceCheckUtils]: 45: Hoare triple {7152#(= |mult_#in~n| mult_~n)} assume ~m - 1 >= -2147483648; {7152#(= |mult_#in~n| mult_~n)} is VALID [2022-02-21 03:09:20,705 INFO L272 TraceCheckUtils]: 46: Hoare triple {7152#(= |mult_#in~n| mult_~n)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:20,705 INFO L290 TraceCheckUtils]: 47: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:20,705 INFO L290 TraceCheckUtils]: 48: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:20,705 INFO L290 TraceCheckUtils]: 49: Hoare triple {7084#true} assume 0 == ~m;#res := 0; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,706 INFO L290 TraceCheckUtils]: 50: Hoare triple {7207#(<= |mult_#res| 0)} assume true; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:20,706 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7207#(<= |mult_#res| 0)} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,707 INFO L290 TraceCheckUtils]: 52: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,707 INFO L290 TraceCheckUtils]: 53: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:20,708 INFO L290 TraceCheckUtils]: 54: Hoare triple {7205#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:20,708 INFO L290 TraceCheckUtils]: 55: Hoare triple {7206#(<= |mult_#res| |mult_#in~n|)} assume true; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:20,709 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7206#(<= |mult_#res| |mult_#in~n|)} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,709 INFO L290 TraceCheckUtils]: 57: Hoare triple {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,709 INFO L290 TraceCheckUtils]: 58: Hoare triple {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 <= 2147483647; {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:20,710 INFO L290 TraceCheckUtils]: 59: Hoare triple {7198#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,710 INFO L290 TraceCheckUtils]: 60: Hoare triple {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} assume true; {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,711 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} {7152#(= |mult_#in~n| mult_~n)} #56#return; {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:09:20,711 INFO L290 TraceCheckUtils]: 62: Hoare triple {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:09:20,711 INFO L290 TraceCheckUtils]: 63: Hoare triple {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume ~n + #t~ret5 <= 2147483647; {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} is VALID [2022-02-21 03:09:20,712 INFO L290 TraceCheckUtils]: 64: Hoare triple {7180#(and (= |mult_#in~n| mult_~n) (<= |mult_#t~ret5| (* 2 mult_~n)))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,712 INFO L290 TraceCheckUtils]: 65: Hoare triple {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} assume true; {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:09:20,713 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} {7104#(<= mult_~n 1)} #56#return; {7143#(<= (+ |mult_#t~ret5| mult_~n) 4)} is VALID [2022-02-21 03:09:20,713 INFO L290 TraceCheckUtils]: 67: Hoare triple {7143#(<= (+ |mult_#t~ret5| mult_~n) 4)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7143#(<= (+ |mult_#t~ret5| mult_~n) 4)} is VALID [2022-02-21 03:09:20,714 INFO L290 TraceCheckUtils]: 68: Hoare triple {7143#(<= (+ |mult_#t~ret5| mult_~n) 4)} assume !(~n + #t~ret5 <= 2147483647); {7085#false} is VALID [2022-02-21 03:09:20,714 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 2 proven. 115 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-02-21 03:09:20,714 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:09:20,715 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1538593243] [2022-02-21 03:09:20,715 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1538593243] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:09:20,715 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [628337516] [2022-02-21 03:09:20,715 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-21 03:09:20,715 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:09:20,715 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:09:20,716 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-21 03:09:20,718 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-21 03:09:20,769 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2022-02-21 03:09:20,769 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 03:09:20,770 INFO L263 TraceCheckSpWp]: Trace formula consists of 175 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-21 03:09:20,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:09:20,784 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:09:21,416 INFO L290 TraceCheckUtils]: 0: Hoare triple {7084#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(20, 2);call #Ultimate.allocInit(12, 3); {7084#true} is VALID [2022-02-21 03:09:21,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {7084#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {7084#true} is VALID [2022-02-21 03:09:21,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {7084#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L290 TraceCheckUtils]: 3: Hoare triple {7084#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {7220#(not (< 46340 |ULTIMATE.start_main_~n~0#1|))} is VALID [2022-02-21 03:09:21,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {7220#(not (< 46340 |ULTIMATE.start_main_~n~0#1|))} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L290 TraceCheckUtils]: 6: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {7084#true} assume !(0 == ~m); {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {7084#true} assume ~m - 1 <= 2147483647; {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {7084#true} assume ~m - 1 >= -2147483648; {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L272 TraceCheckUtils]: 10: Hoare triple {7084#true} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L290 TraceCheckUtils]: 11: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L290 TraceCheckUtils]: 12: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:21,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {7084#true} assume 0 == ~m;#res := 0; {7084#true} is VALID [2022-02-21 03:09:21,418 INFO L290 TraceCheckUtils]: 14: Hoare triple {7084#true} assume true; {7084#true} is VALID [2022-02-21 03:09:21,418 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7084#true} {7084#true} #56#return; {7084#true} is VALID [2022-02-21 03:09:21,418 INFO L290 TraceCheckUtils]: 16: Hoare triple {7084#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7084#true} is VALID [2022-02-21 03:09:21,418 INFO L290 TraceCheckUtils]: 17: Hoare triple {7084#true} assume ~n + #t~ret5 <= 2147483647; {7084#true} is VALID [2022-02-21 03:09:21,418 INFO L290 TraceCheckUtils]: 18: Hoare triple {7084#true} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7084#true} is VALID [2022-02-21 03:09:21,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {7084#true} assume true; {7084#true} is VALID [2022-02-21 03:09:21,418 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {7084#true} {7220#(not (< 46340 |ULTIMATE.start_main_~n~0#1|))} #58#return; {7220#(not (< 46340 |ULTIMATE.start_main_~n~0#1|))} is VALID [2022-02-21 03:09:21,419 INFO L290 TraceCheckUtils]: 21: Hoare triple {7220#(not (< 46340 |ULTIMATE.start_main_~n~0#1|))} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {7220#(not (< 46340 |ULTIMATE.start_main_~n~0#1|))} is VALID [2022-02-21 03:09:21,419 INFO L272 TraceCheckUtils]: 22: Hoare triple {7220#(not (< 46340 |ULTIMATE.start_main_~n~0#1|))} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {7278#(<= |mult_#in~n| 46340)} is VALID [2022-02-21 03:09:21,419 INFO L290 TraceCheckUtils]: 23: Hoare triple {7278#(<= |mult_#in~n| 46340)} ~n := #in~n;~m := #in~m; {7282#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:21,420 INFO L290 TraceCheckUtils]: 24: Hoare triple {7282#(<= mult_~n 46340)} assume !(~m < 0); {7282#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:21,420 INFO L290 TraceCheckUtils]: 25: Hoare triple {7282#(<= mult_~n 46340)} assume !(0 == ~m); {7282#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:21,420 INFO L290 TraceCheckUtils]: 26: Hoare triple {7282#(<= mult_~n 46340)} assume ~m - 1 <= 2147483647; {7282#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:21,421 INFO L290 TraceCheckUtils]: 27: Hoare triple {7282#(<= mult_~n 46340)} assume ~m - 1 >= -2147483648; {7282#(<= mult_~n 46340)} is VALID [2022-02-21 03:09:21,421 INFO L272 TraceCheckUtils]: 28: Hoare triple {7282#(<= mult_~n 46340)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:21,421 INFO L290 TraceCheckUtils]: 29: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,421 INFO L290 TraceCheckUtils]: 30: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume !(~m < 0); {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,422 INFO L290 TraceCheckUtils]: 31: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume !(0 == ~m); {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,422 INFO L290 TraceCheckUtils]: 32: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume ~m - 1 <= 2147483647; {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,422 INFO L290 TraceCheckUtils]: 33: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume ~m - 1 >= -2147483648; {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,422 INFO L272 TraceCheckUtils]: 34: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:21,422 INFO L290 TraceCheckUtils]: 35: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume !(~m < 0); {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,423 INFO L290 TraceCheckUtils]: 37: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume !(0 == ~m); {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,423 INFO L290 TraceCheckUtils]: 38: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume ~m - 1 <= 2147483647; {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,423 INFO L290 TraceCheckUtils]: 39: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume ~m - 1 >= -2147483648; {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,424 INFO L272 TraceCheckUtils]: 40: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:21,424 INFO L290 TraceCheckUtils]: 41: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,424 INFO L290 TraceCheckUtils]: 42: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume !(~m < 0); {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,424 INFO L290 TraceCheckUtils]: 43: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume !(0 == ~m); {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,425 INFO L290 TraceCheckUtils]: 44: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume ~m - 1 <= 2147483647; {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,425 INFO L290 TraceCheckUtils]: 45: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} assume ~m - 1 >= -2147483648; {7301#(<= mult_~n |mult_#in~n|)} is VALID [2022-02-21 03:09:21,425 INFO L272 TraceCheckUtils]: 46: Hoare triple {7301#(<= mult_~n |mult_#in~n|)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:21,425 INFO L290 TraceCheckUtils]: 47: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:21,425 INFO L290 TraceCheckUtils]: 48: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:21,430 INFO L290 TraceCheckUtils]: 49: Hoare triple {7084#true} assume 0 == ~m;#res := 0; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:21,430 INFO L290 TraceCheckUtils]: 50: Hoare triple {7207#(<= |mult_#res| 0)} assume true; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:21,431 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7207#(<= |mult_#res| 0)} {7301#(<= mult_~n |mult_#in~n|)} #56#return; {7368#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:21,432 INFO L290 TraceCheckUtils]: 52: Hoare triple {7368#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7368#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:21,432 INFO L290 TraceCheckUtils]: 53: Hoare triple {7368#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 <= 2147483647; {7368#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} is VALID [2022-02-21 03:09:21,433 INFO L290 TraceCheckUtils]: 54: Hoare triple {7368#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| 0))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:21,433 INFO L290 TraceCheckUtils]: 55: Hoare triple {7206#(<= |mult_#res| |mult_#in~n|)} assume true; {7206#(<= |mult_#res| |mult_#in~n|)} is VALID [2022-02-21 03:09:21,434 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7206#(<= |mult_#res| |mult_#in~n|)} {7301#(<= mult_~n |mult_#in~n|)} #56#return; {7384#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:21,434 INFO L290 TraceCheckUtils]: 57: Hoare triple {7384#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7384#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:21,434 INFO L290 TraceCheckUtils]: 58: Hoare triple {7384#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 <= 2147483647; {7384#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} is VALID [2022-02-21 03:09:21,435 INFO L290 TraceCheckUtils]: 59: Hoare triple {7384#(and (<= mult_~n |mult_#in~n|) (<= |mult_#t~ret5| mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:09:21,435 INFO L290 TraceCheckUtils]: 60: Hoare triple {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} assume true; {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} is VALID [2022-02-21 03:09:21,436 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7199#(<= |mult_#res| (* 2 |mult_#in~n|))} {7301#(<= mult_~n |mult_#in~n|)} #56#return; {7400#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} is VALID [2022-02-21 03:09:21,436 INFO L290 TraceCheckUtils]: 62: Hoare triple {7400#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7400#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} is VALID [2022-02-21 03:09:21,437 INFO L290 TraceCheckUtils]: 63: Hoare triple {7400#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} assume ~n + #t~ret5 <= 2147483647; {7400#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} is VALID [2022-02-21 03:09:21,437 INFO L290 TraceCheckUtils]: 64: Hoare triple {7400#(and (<= mult_~n |mult_#in~n|) (<= (div (- |mult_#t~ret5|) (- 2)) mult_~n))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:09:21,438 INFO L290 TraceCheckUtils]: 65: Hoare triple {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} assume true; {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} is VALID [2022-02-21 03:09:21,438 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {7181#(<= |mult_#res| (* 3 |mult_#in~n|))} {7282#(<= mult_~n 46340)} #56#return; {7416#(and (<= (div (- |mult_#t~ret5|) (- 3)) mult_~n) (<= mult_~n 46340))} is VALID [2022-02-21 03:09:21,439 INFO L290 TraceCheckUtils]: 67: Hoare triple {7416#(and (<= (div (- |mult_#t~ret5|) (- 3)) mult_~n) (<= mult_~n 46340))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7416#(and (<= (div (- |mult_#t~ret5|) (- 3)) mult_~n) (<= mult_~n 46340))} is VALID [2022-02-21 03:09:21,439 INFO L290 TraceCheckUtils]: 68: Hoare triple {7416#(and (<= (div (- |mult_#t~ret5|) (- 3)) mult_~n) (<= mult_~n 46340))} assume !(~n + #t~ret5 <= 2147483647); {7085#false} is VALID [2022-02-21 03:09:21,439 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 57 proven. 54 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-02-21 03:09:21,440 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:09:24,029 INFO L290 TraceCheckUtils]: 68: Hoare triple {7423#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume !(~n + #t~ret5 <= 2147483647); {7085#false} is VALID [2022-02-21 03:09:24,030 INFO L290 TraceCheckUtils]: 67: Hoare triple {7423#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7423#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:09:24,031 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {7434#(or (< 536870911 |mult_#in~n|) (<= |mult_#res| 1610612736))} {7430#(<= (* 2 mult_~n) 1073741823)} #56#return; {7423#(<= (+ |mult_#t~ret5| mult_~n) 2147483647)} is VALID [2022-02-21 03:09:24,031 INFO L290 TraceCheckUtils]: 65: Hoare triple {7434#(or (< 536870911 |mult_#in~n|) (<= |mult_#res| 1610612736))} assume true; {7434#(or (< 536870911 |mult_#in~n|) (<= |mult_#res| 1610612736))} is VALID [2022-02-21 03:09:24,032 INFO L290 TraceCheckUtils]: 64: Hoare triple {7441#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7434#(or (< 536870911 |mult_#in~n|) (<= |mult_#res| 1610612736))} is VALID [2022-02-21 03:09:24,032 INFO L290 TraceCheckUtils]: 63: Hoare triple {7441#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} assume ~n + #t~ret5 <= 2147483647; {7441#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} is VALID [2022-02-21 03:09:24,033 INFO L290 TraceCheckUtils]: 62: Hoare triple {7441#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7441#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} is VALID [2022-02-21 03:09:24,034 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7455#(or (<= |mult_#res| 1073741824) (< 536870912 |mult_#in~n|))} {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} #56#return; {7441#(or (< 536870911 |mult_#in~n|) (<= (+ |mult_#t~ret5| mult_~n) 1610612736))} is VALID [2022-02-21 03:09:24,034 INFO L290 TraceCheckUtils]: 60: Hoare triple {7455#(or (<= |mult_#res| 1073741824) (< 536870912 |mult_#in~n|))} assume true; {7455#(or (<= |mult_#res| 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,035 INFO L290 TraceCheckUtils]: 59: Hoare triple {7462#(or (<= (+ |mult_#t~ret5| mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7455#(or (<= |mult_#res| 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,035 INFO L290 TraceCheckUtils]: 58: Hoare triple {7462#(or (<= (+ |mult_#t~ret5| mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume ~n + #t~ret5 <= 2147483647; {7462#(or (<= (+ |mult_#t~ret5| mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,035 INFO L290 TraceCheckUtils]: 57: Hoare triple {7462#(or (<= (+ |mult_#t~ret5| mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7462#(or (<= (+ |mult_#t~ret5| mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,036 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7476#(or (<= |mult_#res| 536870912) (< 536870912 |mult_#in~n|))} {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} #56#return; {7462#(or (<= (+ |mult_#t~ret5| mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,037 INFO L290 TraceCheckUtils]: 55: Hoare triple {7476#(or (<= |mult_#res| 536870912) (< 536870912 |mult_#in~n|))} assume true; {7476#(or (<= |mult_#res| 536870912) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,037 INFO L290 TraceCheckUtils]: 54: Hoare triple {7483#(or (<= (+ |mult_#t~ret5| mult_~n) 536870912) (< 536870912 |mult_#in~n|))} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7476#(or (<= |mult_#res| 536870912) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,038 INFO L290 TraceCheckUtils]: 53: Hoare triple {7483#(or (<= (+ |mult_#t~ret5| mult_~n) 536870912) (< 536870912 |mult_#in~n|))} assume ~n + #t~ret5 <= 2147483647; {7483#(or (<= (+ |mult_#t~ret5| mult_~n) 536870912) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,038 INFO L290 TraceCheckUtils]: 52: Hoare triple {7483#(or (<= (+ |mult_#t~ret5| mult_~n) 536870912) (< 536870912 |mult_#in~n|))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7483#(or (<= (+ |mult_#t~ret5| mult_~n) 536870912) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,039 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7207#(<= |mult_#res| 0)} {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} #56#return; {7483#(or (<= (+ |mult_#t~ret5| mult_~n) 536870912) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,039 INFO L290 TraceCheckUtils]: 50: Hoare triple {7207#(<= |mult_#res| 0)} assume true; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:24,040 INFO L290 TraceCheckUtils]: 49: Hoare triple {7084#true} assume 0 == ~m;#res := 0; {7207#(<= |mult_#res| 0)} is VALID [2022-02-21 03:09:24,040 INFO L290 TraceCheckUtils]: 48: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:24,040 INFO L290 TraceCheckUtils]: 47: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:24,040 INFO L272 TraceCheckUtils]: 46: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:24,040 INFO L290 TraceCheckUtils]: 45: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume ~m - 1 >= -2147483648; {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,041 INFO L290 TraceCheckUtils]: 44: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume ~m - 1 <= 2147483647; {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,041 INFO L290 TraceCheckUtils]: 43: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume !(0 == ~m); {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,041 INFO L290 TraceCheckUtils]: 42: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume !(~m < 0); {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,042 INFO L290 TraceCheckUtils]: 41: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,042 INFO L272 TraceCheckUtils]: 40: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:24,042 INFO L290 TraceCheckUtils]: 39: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume ~m - 1 >= -2147483648; {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,043 INFO L290 TraceCheckUtils]: 38: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume ~m - 1 <= 2147483647; {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,043 INFO L290 TraceCheckUtils]: 37: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume !(0 == ~m); {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,044 INFO L290 TraceCheckUtils]: 36: Hoare triple {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} assume !(~m < 0); {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,044 INFO L290 TraceCheckUtils]: 35: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7472#(or (<= (* 2 mult_~n) 1073741824) (< 536870912 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,044 INFO L272 TraceCheckUtils]: 34: Hoare triple {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:24,044 INFO L290 TraceCheckUtils]: 33: Hoare triple {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} assume ~m - 1 >= -2147483648; {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,045 INFO L290 TraceCheckUtils]: 32: Hoare triple {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} assume ~m - 1 <= 2147483647; {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,045 INFO L290 TraceCheckUtils]: 31: Hoare triple {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} assume !(0 == ~m); {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} assume !(~m < 0); {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,046 INFO L290 TraceCheckUtils]: 29: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7451#(or (<= (* 3 mult_~n) 1610612736) (< 536870911 |mult_#in~n|))} is VALID [2022-02-21 03:09:24,046 INFO L272 TraceCheckUtils]: 28: Hoare triple {7430#(<= (* 2 mult_~n) 1073741823)} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:24,046 INFO L290 TraceCheckUtils]: 27: Hoare triple {7430#(<= (* 2 mult_~n) 1073741823)} assume ~m - 1 >= -2147483648; {7430#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:24,047 INFO L290 TraceCheckUtils]: 26: Hoare triple {7430#(<= (* 2 mult_~n) 1073741823)} assume ~m - 1 <= 2147483647; {7430#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:24,047 INFO L290 TraceCheckUtils]: 25: Hoare triple {7430#(<= (* 2 mult_~n) 1073741823)} assume !(0 == ~m); {7430#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:24,047 INFO L290 TraceCheckUtils]: 24: Hoare triple {7430#(<= (* 2 mult_~n) 1073741823)} assume !(~m < 0); {7430#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:24,048 INFO L290 TraceCheckUtils]: 23: Hoare triple {7568#(<= |mult_#in~n| 536870911)} ~n := #in~n;~m := #in~m; {7430#(<= (* 2 mult_~n) 1073741823)} is VALID [2022-02-21 03:09:24,048 INFO L272 TraceCheckUtils]: 22: Hoare triple {7572#(<= |ULTIMATE.start_main_~n~0#1| 536870911)} call main_#t~ret9#1 := mult(main_~n~0#1, main_~m~0#1); {7568#(<= |mult_#in~n| 536870911)} is VALID [2022-02-21 03:09:24,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {7572#(<= |ULTIMATE.start_main_~n~0#1| 536870911)} assume -2147483648 <= main_#t~ret8#1 && main_#t~ret8#1 <= 2147483647;main_~res1~0#1 := main_#t~ret8#1;havoc main_#t~ret8#1; {7572#(<= |ULTIMATE.start_main_~n~0#1| 536870911)} is VALID [2022-02-21 03:09:24,049 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {7084#true} {7572#(<= |ULTIMATE.start_main_~n~0#1| 536870911)} #58#return; {7572#(<= |ULTIMATE.start_main_~n~0#1| 536870911)} is VALID [2022-02-21 03:09:24,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {7084#true} assume true; {7084#true} is VALID [2022-02-21 03:09:24,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {7084#true} assume ~n + #t~ret5 >= -2147483648;#res := ~n + #t~ret5;havoc #t~ret5; {7084#true} is VALID [2022-02-21 03:09:24,050 INFO L290 TraceCheckUtils]: 17: Hoare triple {7084#true} assume ~n + #t~ret5 <= 2147483647; {7084#true} is VALID [2022-02-21 03:09:24,050 INFO L290 TraceCheckUtils]: 16: Hoare triple {7084#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7084#true} is VALID [2022-02-21 03:09:24,050 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7084#true} {7084#true} #56#return; {7084#true} is VALID [2022-02-21 03:09:24,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {7084#true} assume true; {7084#true} is VALID [2022-02-21 03:09:24,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {7084#true} assume 0 == ~m;#res := 0; {7084#true} is VALID [2022-02-21 03:09:24,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:24,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:24,050 INFO L272 TraceCheckUtils]: 10: Hoare triple {7084#true} call #t~ret5 := mult(~n, ~m - 1); {7084#true} is VALID [2022-02-21 03:09:24,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {7084#true} assume ~m - 1 >= -2147483648; {7084#true} is VALID [2022-02-21 03:09:24,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {7084#true} assume ~m - 1 <= 2147483647; {7084#true} is VALID [2022-02-21 03:09:24,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {7084#true} assume !(0 == ~m); {7084#true} is VALID [2022-02-21 03:09:24,051 INFO L290 TraceCheckUtils]: 6: Hoare triple {7084#true} assume !(~m < 0); {7084#true} is VALID [2022-02-21 03:09:24,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {7084#true} ~n := #in~n;~m := #in~m; {7084#true} is VALID [2022-02-21 03:09:24,051 INFO L272 TraceCheckUtils]: 4: Hoare triple {7572#(<= |ULTIMATE.start_main_~n~0#1| 536870911)} call main_#t~ret8#1 := mult(main_~m~0#1, main_~n~0#1); {7084#true} is VALID [2022-02-21 03:09:24,052 INFO L290 TraceCheckUtils]: 3: Hoare triple {7084#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 46340); {7572#(<= |ULTIMATE.start_main_~n~0#1| 536870911)} is VALID [2022-02-21 03:09:24,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {7084#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 46340);assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~n~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {7084#true} is VALID [2022-02-21 03:09:24,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {7084#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~ret8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~res1~0#1, main_~res2~0#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~m~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1; {7084#true} is VALID [2022-02-21 03:09:24,052 INFO L290 TraceCheckUtils]: 0: Hoare triple {7084#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(20, 2);call #Ultimate.allocInit(12, 3); {7084#true} is VALID [2022-02-21 03:09:24,052 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 67 proven. 54 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-21 03:09:24,053 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [628337516] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:09:24,053 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:09:24,053 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13, 14] total 36 [2022-02-21 03:09:24,053 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [567437930] [2022-02-21 03:09:24,053 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:09:24,054 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 36 states have (on average 2.9444444444444446) internal successors, (106), 34 states have internal predecessors, (106), 12 states have call successors, (15), 4 states have call predecessors, (15), 10 states have return successors, (17), 17 states have call predecessors, (17), 11 states have call successors, (17) Word has length 69 [2022-02-21 03:09:24,068 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:09:24,068 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 37 states, 36 states have (on average 2.9444444444444446) internal successors, (106), 34 states have internal predecessors, (106), 12 states have call successors, (15), 4 states have call predecessors, (15), 10 states have return successors, (17), 17 states have call predecessors, (17), 11 states have call successors, (17) [2022-02-21 03:09:24,155 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:09:24,155 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-02-21 03:09:24,155 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:09:24,156 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-02-21 03:09:24,156 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=156, Invalid=1176, Unknown=0, NotChecked=0, Total=1332 [2022-02-21 03:09:24,156 INFO L87 Difference]: Start difference. First operand 99 states and 112 transitions. Second operand has 37 states, 36 states have (on average 2.9444444444444446) internal successors, (106), 34 states have internal predecessors, (106), 12 states have call successors, (15), 4 states have call predecessors, (15), 10 states have return successors, (17), 17 states have call predecessors, (17), 11 states have call successors, (17)