./Ultimate.py --spec ../sv-benchmarks/c/properties/no-overflow.prp --file ../sv-benchmarks/c/recursive/Ackermann01-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/Ackermann01-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 93bcf8b6df587e0bc8cb137c6415932ffc9083999b1b09826c5b148989ca1a7b --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-21 03:06:52,892 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-21 03:06:52,894 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-21 03:06:52,916 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-21 03:06:52,917 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-21 03:06:52,918 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-21 03:06:52,919 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-21 03:06:52,920 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-21 03:06:52,921 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-21 03:06:52,922 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-21 03:06:52,923 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-21 03:06:52,924 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-21 03:06:52,924 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-21 03:06:52,925 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-21 03:06:52,926 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-21 03:06:52,927 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-21 03:06:52,927 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-21 03:06:52,928 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-21 03:06:52,929 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-21 03:06:52,931 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-21 03:06:52,932 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-21 03:06:52,933 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-21 03:06:52,934 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-21 03:06:52,935 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-21 03:06:52,937 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-21 03:06:52,937 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-21 03:06:52,937 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-21 03:06:52,938 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-21 03:06:52,938 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-21 03:06:52,939 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-21 03:06:52,939 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-21 03:06:52,940 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-21 03:06:52,940 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-21 03:06:52,941 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-21 03:06:52,942 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-21 03:06:52,942 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-21 03:06:52,943 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-21 03:06:52,943 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-21 03:06:52,943 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-21 03:06:52,944 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-21 03:06:52,944 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-21 03:06:52,945 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:06:52,970 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-21 03:06:52,970 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-21 03:06:52,971 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-21 03:06:52,971 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-21 03:06:52,972 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-21 03:06:52,972 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-21 03:06:52,973 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-21 03:06:52,973 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-21 03:06:52,973 INFO L138 SettingsManager]: * Use SBE=true [2022-02-21 03:06:52,973 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-21 03:06:52,974 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-21 03:06:52,975 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-21 03:06:52,975 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-21 03:06:52,975 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-21 03:06:52,975 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-21 03:06:52,976 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-21 03:06:52,976 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-21 03:06:52,976 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-21 03:06:52,976 INFO L138 SettingsManager]: * Check absence of signed integer overflows=true [2022-02-21 03:06:52,976 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-21 03:06:52,976 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-21 03:06:52,977 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-21 03:06:52,977 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-21 03:06:52,977 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-21 03:06:52,977 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-21 03:06:52,977 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-21 03:06:52,978 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-21 03:06:52,978 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-21 03:06:52,978 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-21 03:06:52,978 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-21 03:06:52,978 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-21 03:06:52,979 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-21 03:06:52,979 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-21 03:06:52,979 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 -> 93bcf8b6df587e0bc8cb137c6415932ffc9083999b1b09826c5b148989ca1a7b [2022-02-21 03:06:53,249 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-21 03:06:53,271 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-21 03:06:53,274 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-21 03:06:53,275 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-21 03:06:53,276 INFO L275 PluginConnector]: CDTParser initialized [2022-02-21 03:06:53,277 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive/Ackermann01-2.c [2022-02-21 03:06:53,362 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7a87819cb/70209554321247498cc7924c33a9ffae/FLAG15fe90732 [2022-02-21 03:06:53,753 INFO L306 CDTParser]: Found 1 translation units. [2022-02-21 03:06:53,754 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive/Ackermann01-2.c [2022-02-21 03:06:53,764 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7a87819cb/70209554321247498cc7924c33a9ffae/FLAG15fe90732 [2022-02-21 03:06:54,170 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7a87819cb/70209554321247498cc7924c33a9ffae [2022-02-21 03:06:54,173 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-21 03:06:54,174 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-21 03:06:54,176 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-21 03:06:54,178 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-21 03:06:54,181 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-21 03:06:54,183 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,184 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@60bfeccf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54, skipping insertion in model container [2022-02-21 03:06:54,185 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,191 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-21 03:06:54,206 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-21 03:06:54,351 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/Ackermann01-2.c[1234,1247] [2022-02-21 03:06:54,352 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-21 03:06:54,362 INFO L203 MainTranslator]: Completed pre-run [2022-02-21 03:06:54,382 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/Ackermann01-2.c[1234,1247] [2022-02-21 03:06:54,385 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-21 03:06:54,402 INFO L208 MainTranslator]: Completed translation [2022-02-21 03:06:54,403 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54 WrapperNode [2022-02-21 03:06:54,403 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-21 03:06:54,405 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-21 03:06:54,405 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-21 03:06:54,406 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-21 03:06:54,413 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:06:54" (1/1) ... [2022-02-21 03:06:54,422 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:06:54" (1/1) ... [2022-02-21 03:06:54,455 INFO L137 Inliner]: procedures = 13, calls = 11, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 32 [2022-02-21 03:06:54,456 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-21 03:06:54,457 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-21 03:06:54,457 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-21 03:06:54,457 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-21 03:06:54,465 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,465 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,466 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,466 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,470 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,472 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,473 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,475 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-21 03:06:54,476 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-21 03:06:54,476 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-21 03:06:54,476 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-21 03:06:54,477 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54" (1/1) ... [2022-02-21 03:06:54,484 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-21 03:06:54,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:54,511 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:06:54,516 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:06:54,547 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-21 03:06:54,548 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-21 03:06:54,548 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-21 03:06:54,549 INFO L130 BoogieDeclarations]: Found specification of procedure ackermann [2022-02-21 03:06:54,549 INFO L138 BoogieDeclarations]: Found implementation of procedure ackermann [2022-02-21 03:06:54,549 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-21 03:06:54,599 INFO L234 CfgBuilder]: Building ICFG [2022-02-21 03:06:54,601 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-21 03:06:54,810 INFO L275 CfgBuilder]: Performing block encoding [2022-02-21 03:06:54,818 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-21 03:06:54,818 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-21 03:06:54,820 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.02 03:06:54 BoogieIcfgContainer [2022-02-21 03:06:54,820 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-21 03:06:54,822 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-21 03:06:54,822 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-21 03:06:54,839 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-21 03:06:54,840 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 21.02 03:06:54" (1/3) ... [2022-02-21 03:06:54,840 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5572f4d5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.02 03:06:54, skipping insertion in model container [2022-02-21 03:06:54,841 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:54" (2/3) ... [2022-02-21 03:06:54,841 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5572f4d5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.02 03:06:54, skipping insertion in model container [2022-02-21 03:06:54,841 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.02 03:06:54" (3/3) ... [2022-02-21 03:06:54,842 INFO L111 eAbstractionObserver]: Analyzing ICFG Ackermann01-2.c [2022-02-21 03:06:54,849 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-21 03:06:54,849 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 8 error locations. [2022-02-21 03:06:54,894 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-21 03:06:54,902 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:06:54,902 INFO L340 AbstractCegarLoop]: Starting to check reachability of 8 error locations. [2022-02-21 03:06:54,924 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 24 states have (on average 1.5416666666666667) internal successors, (37), 32 states have internal predecessors, (37), 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:06:54,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-21 03:06:54,930 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:54,930 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:54,931 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:06:54,938 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:54,938 INFO L85 PathProgramCache]: Analyzing trace with hash 180762217, now seen corresponding path program 1 times [2022-02-21 03:06:54,951 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:54,953 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [790106117] [2022-02-21 03:06:54,953 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:54,954 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:55,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:55,281 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#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(16, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-02-21 03:06:55,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {41#true} is VALID [2022-02-21 03:06:55,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {41#true} is VALID [2022-02-21 03:06:55,283 INFO L290 TraceCheckUtils]: 3: Hoare triple {41#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {43#(<= |ULTIMATE.start_main_~n~0#1| 23)} is VALID [2022-02-21 03:06:55,286 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#(<= |ULTIMATE.start_main_~n~0#1| 23)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {44#(<= |ackermann_#in~n| 23)} is VALID [2022-02-21 03:06:55,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {44#(<= |ackermann_#in~n| 23)} ~m := #in~m;~n := #in~n; {45#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:55,288 INFO L290 TraceCheckUtils]: 6: Hoare triple {45#(<= ackermann_~n 23)} assume 0 == ~m; {45#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:55,289 INFO L290 TraceCheckUtils]: 7: Hoare triple {45#(<= ackermann_~n 23)} assume !(1 + ~n <= 2147483647); {42#false} is VALID [2022-02-21 03:06:55,290 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:06:55,291 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:55,291 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [790106117] [2022-02-21 03:06:55,292 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [790106117] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:55,293 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:55,293 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:55,295 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1722566104] [2022-02-21 03:06:55,296 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:55,302 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:06:55,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:55,307 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:06:55,323 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:06:55,323 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:55,323 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:55,348 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:55,350 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:55,353 INFO L87 Difference]: Start difference. First operand has 38 states, 24 states have (on average 1.5416666666666667) internal successors, (37), 32 states have internal predecessors, (37), 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:06:55,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:55,680 INFO L93 Difference]: Finished difference Result 73 states and 84 transitions. [2022-02-21 03:06:55,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:06:55,680 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:06:55,680 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:55,681 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:06:55,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 84 transitions. [2022-02-21 03:06:55,698 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:06:55,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 84 transitions. [2022-02-21 03:06:55,702 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 84 transitions. [2022-02-21 03:06:55,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:55,778 INFO L225 Difference]: With dead ends: 73 [2022-02-21 03:06:55,779 INFO L226 Difference]: Without dead ends: 59 [2022-02-21 03:06:55,782 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 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:06:55,786 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 55 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:55,787 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 125 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 03:06:55,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-21 03:06:55,837 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 51. [2022-02-21 03:06:55,838 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:55,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 51 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:06:55,841 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 51 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:06:55,843 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 51 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:06:55,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:55,852 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-02-21 03:06:55,852 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-02-21 03:06:55,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:55,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:55,865 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 59 states. [2022-02-21 03:06:55,866 INFO L87 Difference]: Start difference. First operand has 51 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 59 states. [2022-02-21 03:06:55,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:55,874 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-02-21 03:06:55,874 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-02-21 03:06:55,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:55,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:55,876 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:55,876 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:55,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 42 states have internal predecessors, (52), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:06:55,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 65 transitions. [2022-02-21 03:06:55,883 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 65 transitions. Word has length 8 [2022-02-21 03:06:55,883 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:55,883 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 65 transitions. [2022-02-21 03:06:55,884 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:06:55,884 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-02-21 03:06:55,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-21 03:06:55,885 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:55,885 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:55,885 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-21 03:06:55,896 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:06:55,897 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:55,897 INFO L85 PathProgramCache]: Analyzing trace with hash 1308666490, now seen corresponding path program 1 times [2022-02-21 03:06:55,897 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:55,898 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1996250601] [2022-02-21 03:06:55,898 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:55,898 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:55,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:55,951 INFO L290 TraceCheckUtils]: 0: Hoare triple {313#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(16, 2);call #Ultimate.allocInit(12, 3); {313#true} is VALID [2022-02-21 03:06:55,952 INFO L290 TraceCheckUtils]: 1: Hoare triple {313#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {313#true} is VALID [2022-02-21 03:06:55,952 INFO L290 TraceCheckUtils]: 2: Hoare triple {313#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {315#(<= |ULTIMATE.start_main_~m~0#1| 3)} is VALID [2022-02-21 03:06:55,953 INFO L290 TraceCheckUtils]: 3: Hoare triple {315#(<= |ULTIMATE.start_main_~m~0#1| 3)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {315#(<= |ULTIMATE.start_main_~m~0#1| 3)} is VALID [2022-02-21 03:06:55,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {315#(<= |ULTIMATE.start_main_~m~0#1| 3)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {316#(<= |ackermann_#in~m| 3)} is VALID [2022-02-21 03:06:55,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {316#(<= |ackermann_#in~m| 3)} ~m := #in~m;~n := #in~n; {317#(<= ackermann_~m 3)} is VALID [2022-02-21 03:06:55,955 INFO L290 TraceCheckUtils]: 6: Hoare triple {317#(<= ackermann_~m 3)} assume !(0 == ~m); {317#(<= ackermann_~m 3)} is VALID [2022-02-21 03:06:55,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {317#(<= ackermann_~m 3)} assume 0 == ~n; {317#(<= ackermann_~m 3)} is VALID [2022-02-21 03:06:55,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {317#(<= ackermann_~m 3)} assume !(~m - 1 <= 2147483647); {314#false} is VALID [2022-02-21 03:06:55,957 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:06:55,957 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:55,958 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1996250601] [2022-02-21 03:06:55,958 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1996250601] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:55,958 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:55,958 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:55,959 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1212156584] [2022-02-21 03:06:55,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:55,960 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) 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:06:55,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:55,961 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.0) 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:06:55,969 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:06:55,969 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:55,970 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:55,971 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:55,971 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:55,971 INFO L87 Difference]: Start difference. First operand 51 states and 65 transitions. Second operand has 5 states, 4 states have (on average 2.0) 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:06:56,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:56,141 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-02-21 03:06:56,141 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-21 03:06:56,142 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) 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:06:56,142 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:56,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) 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:06:56,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 36 transitions. [2022-02-21 03:06:56,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) 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:06:56,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 36 transitions. [2022-02-21 03:06:56,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 36 transitions. [2022-02-21 03:06:56,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:56,180 INFO L225 Difference]: With dead ends: 51 [2022-02-21 03:06:56,181 INFO L226 Difference]: Without dead ends: 49 [2022-02-21 03:06:56,181 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:06:56,183 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 43 mSDsluCounter, 25 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:56,184 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 47 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:06:56,185 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-21 03:06:56,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 49. [2022-02-21 03:06:56,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:56,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 49 states, 34 states have (on average 1.411764705882353) internal successors, (48), 40 states have internal predecessors, (48), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:06:56,206 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 49 states, 34 states have (on average 1.411764705882353) internal successors, (48), 40 states have internal predecessors, (48), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:06:56,207 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 49 states, 34 states have (on average 1.411764705882353) internal successors, (48), 40 states have internal predecessors, (48), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:06:56,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:56,211 INFO L93 Difference]: Finished difference Result 49 states and 61 transitions. [2022-02-21 03:06:56,212 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-02-21 03:06:56,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:56,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:56,214 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 34 states have (on average 1.411764705882353) internal successors, (48), 40 states have internal predecessors, (48), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 49 states. [2022-02-21 03:06:56,215 INFO L87 Difference]: Start difference. First operand has 49 states, 34 states have (on average 1.411764705882353) internal successors, (48), 40 states have internal predecessors, (48), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 49 states. [2022-02-21 03:06:56,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:56,218 INFO L93 Difference]: Finished difference Result 49 states and 61 transitions. [2022-02-21 03:06:56,219 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-02-21 03:06:56,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:56,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:56,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:56,221 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:56,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 34 states have (on average 1.411764705882353) internal successors, (48), 40 states have internal predecessors, (48), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-21 03:06:56,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 61 transitions. [2022-02-21 03:06:56,225 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 61 transitions. Word has length 9 [2022-02-21 03:06:56,225 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:56,225 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 61 transitions. [2022-02-21 03:06:56,226 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.0) 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:06:56,226 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-02-21 03:06:56,226 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-21 03:06:56,226 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:56,227 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:56,227 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-21 03:06:56,227 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:06:56,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:56,228 INFO L85 PathProgramCache]: Analyzing trace with hash 1308661493, now seen corresponding path program 1 times [2022-02-21 03:06:56,228 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:56,228 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [235781508] [2022-02-21 03:06:56,229 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:56,229 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:56,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:56,278 INFO L290 TraceCheckUtils]: 0: Hoare triple {538#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(16, 2);call #Ultimate.allocInit(12, 3); {538#true} is VALID [2022-02-21 03:06:56,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {538#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {538#true} is VALID [2022-02-21 03:06:56,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {538#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {540#(<= 0 (+ |ULTIMATE.start_main_~n~0#1| 2147483648))} is VALID [2022-02-21 03:06:56,280 INFO L290 TraceCheckUtils]: 3: Hoare triple {540#(<= 0 (+ |ULTIMATE.start_main_~n~0#1| 2147483648))} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {540#(<= 0 (+ |ULTIMATE.start_main_~n~0#1| 2147483648))} is VALID [2022-02-21 03:06:56,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {540#(<= 0 (+ |ULTIMATE.start_main_~n~0#1| 2147483648))} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {541#(<= 0 (+ |ackermann_#in~n| 2147483648))} is VALID [2022-02-21 03:06:56,282 INFO L290 TraceCheckUtils]: 5: Hoare triple {541#(<= 0 (+ |ackermann_#in~n| 2147483648))} ~m := #in~m;~n := #in~n; {542#(<= 0 (+ ackermann_~n 2147483648))} is VALID [2022-02-21 03:06:56,282 INFO L290 TraceCheckUtils]: 6: Hoare triple {542#(<= 0 (+ ackermann_~n 2147483648))} assume 0 == ~m; {542#(<= 0 (+ ackermann_~n 2147483648))} is VALID [2022-02-21 03:06:56,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {542#(<= 0 (+ ackermann_~n 2147483648))} assume 1 + ~n <= 2147483647; {542#(<= 0 (+ ackermann_~n 2147483648))} is VALID [2022-02-21 03:06:56,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {542#(<= 0 (+ ackermann_~n 2147483648))} assume !(1 + ~n >= -2147483648); {539#false} is VALID [2022-02-21 03:06:56,284 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:06:56,284 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:56,285 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [235781508] [2022-02-21 03:06:56,285 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [235781508] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:56,285 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:56,285 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:56,286 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1623502420] [2022-02-21 03:06:56,286 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:56,286 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) 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:06:56,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:56,287 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.0) 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:06:56,296 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:06:56,297 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:56,297 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:56,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:56,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:56,298 INFO L87 Difference]: Start difference. First operand 49 states and 61 transitions. Second operand has 5 states, 4 states have (on average 2.0) 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:06:56,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:56,504 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2022-02-21 03:06:56,504 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:06:56,505 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) 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:06:56,505 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:56,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) 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:06:56,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-02-21 03:06:56,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) 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:06:56,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-02-21 03:06:56,508 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 66 transitions. [2022-02-21 03:06:56,562 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:56,566 INFO L225 Difference]: With dead ends: 76 [2022-02-21 03:06:56,566 INFO L226 Difference]: Without dead ends: 75 [2022-02-21 03:06:56,566 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:06:56,568 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 44 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:56,569 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 92 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:06:56,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-02-21 03:06:56,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 68. [2022-02-21 03:06:56,613 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:56,613 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 68 states, 49 states have (on average 1.3877551020408163) internal successors, (68), 55 states have internal predecessors, (68), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-21 03:06:56,614 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 68 states, 49 states have (on average 1.3877551020408163) internal successors, (68), 55 states have internal predecessors, (68), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-21 03:06:56,614 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 68 states, 49 states have (on average 1.3877551020408163) internal successors, (68), 55 states have internal predecessors, (68), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-21 03:06:56,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:56,620 INFO L93 Difference]: Finished difference Result 75 states and 95 transitions. [2022-02-21 03:06:56,620 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 95 transitions. [2022-02-21 03:06:56,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:56,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:56,622 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 49 states have (on average 1.3877551020408163) internal successors, (68), 55 states have internal predecessors, (68), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 75 states. [2022-02-21 03:06:56,623 INFO L87 Difference]: Start difference. First operand has 68 states, 49 states have (on average 1.3877551020408163) internal successors, (68), 55 states have internal predecessors, (68), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 75 states. [2022-02-21 03:06:56,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:56,628 INFO L93 Difference]: Finished difference Result 75 states and 95 transitions. [2022-02-21 03:06:56,628 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 95 transitions. [2022-02-21 03:06:56,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:56,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:56,629 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:56,630 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:56,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 49 states have (on average 1.3877551020408163) internal successors, (68), 55 states have internal predecessors, (68), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-21 03:06:56,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 87 transitions. [2022-02-21 03:06:56,634 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 87 transitions. Word has length 9 [2022-02-21 03:06:56,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:56,634 INFO L470 AbstractCegarLoop]: Abstraction has 68 states and 87 transitions. [2022-02-21 03:06:56,635 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.0) 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:06:56,635 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 87 transitions. [2022-02-21 03:06:56,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-21 03:06:56,635 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:56,635 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:56,636 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-21 03:06:56,636 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ackermannErr3ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:06:56,637 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:56,637 INFO L85 PathProgramCache]: Analyzing trace with hash 1913955596, now seen corresponding path program 1 times [2022-02-21 03:06:56,637 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:56,637 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [476426127] [2022-02-21 03:06:56,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:56,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:56,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:56,680 INFO L290 TraceCheckUtils]: 0: Hoare triple {867#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(16, 2);call #Ultimate.allocInit(12, 3); {867#true} is VALID [2022-02-21 03:06:56,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {867#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {867#true} is VALID [2022-02-21 03:06:56,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {867#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {869#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:06:56,682 INFO L290 TraceCheckUtils]: 3: Hoare triple {869#(<= 0 |ULTIMATE.start_main_~m~0#1|)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {869#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:06:56,682 INFO L272 TraceCheckUtils]: 4: Hoare triple {869#(<= 0 |ULTIMATE.start_main_~m~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {870#(<= 0 |ackermann_#in~m|)} is VALID [2022-02-21 03:06:56,683 INFO L290 TraceCheckUtils]: 5: Hoare triple {870#(<= 0 |ackermann_#in~m|)} ~m := #in~m;~n := #in~n; {871#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:56,683 INFO L290 TraceCheckUtils]: 6: Hoare triple {871#(<= 0 ackermann_~m)} assume !(0 == ~m); {871#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:56,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {871#(<= 0 ackermann_~m)} assume 0 == ~n; {871#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:56,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {871#(<= 0 ackermann_~m)} assume ~m - 1 <= 2147483647; {871#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:56,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {871#(<= 0 ackermann_~m)} assume !(~m - 1 >= -2147483648); {868#false} is VALID [2022-02-21 03:06:56,685 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:06:56,685 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:56,685 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [476426127] [2022-02-21 03:06:56,686 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [476426127] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:56,686 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:56,686 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:56,686 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1468878244] [2022-02-21 03:06:56,686 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:56,687 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 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 10 [2022-02-21 03:06:56,687 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:56,687 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 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:06:56,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:56,695 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:56,696 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:56,696 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:56,697 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:56,697 INFO L87 Difference]: Start difference. First operand 68 states and 87 transitions. Second operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 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:06:56,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:56,926 INFO L93 Difference]: Finished difference Result 116 states and 156 transitions. [2022-02-21 03:06:56,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:06:56,927 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 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 10 [2022-02-21 03:06:56,927 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:56,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 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:06:56,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2022-02-21 03:06:56,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 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:06:56,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2022-02-21 03:06:56,932 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2022-02-21 03:06:56,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:56,985 INFO L225 Difference]: With dead ends: 116 [2022-02-21 03:06:56,985 INFO L226 Difference]: Without dead ends: 108 [2022-02-21 03:06:56,986 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:06:56,994 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 39 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:56,995 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 103 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:06:56,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-02-21 03:06:57,062 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 100. [2022-02-21 03:06:57,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:57,063 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 100 states, 74 states have (on average 1.337837837837838) internal successors, (99), 81 states have internal predecessors, (99), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-21 03:06:57,064 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 100 states, 74 states have (on average 1.337837837837838) internal successors, (99), 81 states have internal predecessors, (99), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-21 03:06:57,064 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 100 states, 74 states have (on average 1.337837837837838) internal successors, (99), 81 states have internal predecessors, (99), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-21 03:06:57,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:57,071 INFO L93 Difference]: Finished difference Result 108 states and 142 transitions. [2022-02-21 03:06:57,071 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 142 transitions. [2022-02-21 03:06:57,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:57,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:57,073 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 74 states have (on average 1.337837837837838) internal successors, (99), 81 states have internal predecessors, (99), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-02-21 03:06:57,074 INFO L87 Difference]: Start difference. First operand has 100 states, 74 states have (on average 1.337837837837838) internal successors, (99), 81 states have internal predecessors, (99), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-02-21 03:06:57,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:57,081 INFO L93 Difference]: Finished difference Result 108 states and 142 transitions. [2022-02-21 03:06:57,081 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 142 transitions. [2022-02-21 03:06:57,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:57,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:57,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:57,083 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:57,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 74 states have (on average 1.337837837837838) internal successors, (99), 81 states have internal predecessors, (99), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-21 03:06:57,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 128 transitions. [2022-02-21 03:06:57,089 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 128 transitions. Word has length 10 [2022-02-21 03:06:57,089 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:57,089 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 128 transitions. [2022-02-21 03:06:57,090 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 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:06:57,090 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 128 transitions. [2022-02-21 03:06:57,090 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-21 03:06:57,090 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:57,090 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:57,091 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-21 03:06:57,091 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ackermannErr7ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:06:57,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:57,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1072007509, now seen corresponding path program 1 times [2022-02-21 03:06:57,092 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:57,092 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1487072920] [2022-02-21 03:06:57,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:57,092 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:57,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:57,137 INFO L290 TraceCheckUtils]: 0: Hoare triple {1350#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(16, 2);call #Ultimate.allocInit(12, 3); {1350#true} is VALID [2022-02-21 03:06:57,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {1350#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {1350#true} is VALID [2022-02-21 03:06:57,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {1350#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {1350#true} is VALID [2022-02-21 03:06:57,138 INFO L290 TraceCheckUtils]: 3: Hoare triple {1350#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {1352#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:06:57,139 INFO L272 TraceCheckUtils]: 4: Hoare triple {1352#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {1353#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:06:57,139 INFO L290 TraceCheckUtils]: 5: Hoare triple {1353#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {1354#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:57,140 INFO L290 TraceCheckUtils]: 6: Hoare triple {1354#(<= 0 ackermann_~n)} assume !(0 == ~m); {1354#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:57,140 INFO L290 TraceCheckUtils]: 7: Hoare triple {1354#(<= 0 ackermann_~n)} assume !(0 == ~n); {1354#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:57,141 INFO L290 TraceCheckUtils]: 8: Hoare triple {1354#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {1354#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:57,141 INFO L290 TraceCheckUtils]: 9: Hoare triple {1354#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {1354#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:57,144 INFO L290 TraceCheckUtils]: 10: Hoare triple {1354#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {1354#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:57,145 INFO L290 TraceCheckUtils]: 11: Hoare triple {1354#(<= 0 ackermann_~n)} assume !(~n - 1 >= -2147483648); {1351#false} is VALID [2022-02-21 03:06:57,145 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:06:57,145 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:57,145 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1487072920] [2022-02-21 03:06:57,146 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1487072920] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:57,146 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:57,146 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:57,146 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [792295369] [2022-02-21 03:06:57,146 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:57,147 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 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 12 [2022-02-21 03:06:57,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:57,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 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:06:57,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:57,156 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:57,157 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:57,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:57,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:57,158 INFO L87 Difference]: Start difference. First operand 100 states and 128 transitions. Second operand has 5 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 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:06:57,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:57,371 INFO L93 Difference]: Finished difference Result 109 states and 140 transitions. [2022-02-21 03:06:57,371 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:06:57,371 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 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 12 [2022-02-21 03:06:57,372 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:57,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 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:06:57,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-02-21 03:06:57,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 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:06:57,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-02-21 03:06:57,375 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2022-02-21 03:06:57,428 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:06:57,430 INFO L225 Difference]: With dead ends: 109 [2022-02-21 03:06:57,430 INFO L226 Difference]: Without dead ends: 108 [2022-02-21 03:06:57,430 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 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:06:57,431 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 36 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:57,431 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 102 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:06:57,432 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-02-21 03:06:57,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 100. [2022-02-21 03:06:57,500 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:57,500 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 100 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 81 states have internal predecessors, (97), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-21 03:06:57,501 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 100 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 81 states have internal predecessors, (97), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-21 03:06:57,501 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 100 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 81 states have internal predecessors, (97), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-21 03:06:57,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:57,505 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-02-21 03:06:57,505 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-02-21 03:06:57,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:57,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:57,507 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 81 states have internal predecessors, (97), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-02-21 03:06:57,507 INFO L87 Difference]: Start difference. First operand has 100 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 81 states have internal predecessors, (97), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 108 states. [2022-02-21 03:06:57,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:57,512 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-02-21 03:06:57,512 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-02-21 03:06:57,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:57,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:57,513 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:57,513 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:57,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 81 states have internal predecessors, (97), 16 states have call successors, (16), 5 states have call predecessors, (16), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-21 03:06:57,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 126 transitions. [2022-02-21 03:06:57,516 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 126 transitions. Word has length 12 [2022-02-21 03:06:57,516 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:57,516 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 126 transitions. [2022-02-21 03:06:57,517 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 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:06:57,517 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 126 transitions. [2022-02-21 03:06:57,517 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-21 03:06:57,517 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:57,517 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:57,517 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-21 03:06:57,518 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ackermannErr3ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:06:57,518 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:57,518 INFO L85 PathProgramCache]: Analyzing trace with hash 219392943, now seen corresponding path program 1 times [2022-02-21 03:06:57,518 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:57,518 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [786999206] [2022-02-21 03:06:57,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:57,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:57,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:57,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {1826#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(16, 2);call #Ultimate.allocInit(12, 3); {1826#true} is VALID [2022-02-21 03:06:57,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {1826#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {1826#true} is VALID [2022-02-21 03:06:57,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {1826#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {1826#true} is VALID [2022-02-21 03:06:57,586 INFO L290 TraceCheckUtils]: 3: Hoare triple {1826#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {1826#true} is VALID [2022-02-21 03:06:57,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {1826#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {1826#true} is VALID [2022-02-21 03:06:57,587 INFO L290 TraceCheckUtils]: 5: Hoare triple {1826#true} ~m := #in~m;~n := #in~n; {1826#true} is VALID [2022-02-21 03:06:57,587 INFO L290 TraceCheckUtils]: 6: Hoare triple {1826#true} assume !(0 == ~m); {1826#true} is VALID [2022-02-21 03:06:57,589 INFO L290 TraceCheckUtils]: 7: Hoare triple {1826#true} assume 0 == ~n; {1826#true} is VALID [2022-02-21 03:06:57,590 INFO L290 TraceCheckUtils]: 8: Hoare triple {1826#true} assume ~m - 1 <= 2147483647; {1826#true} is VALID [2022-02-21 03:06:57,590 INFO L290 TraceCheckUtils]: 9: Hoare triple {1826#true} assume ~m - 1 >= -2147483648; {1826#true} is VALID [2022-02-21 03:06:57,591 INFO L272 TraceCheckUtils]: 10: Hoare triple {1826#true} call #t~ret4 := ackermann(~m - 1, 1); {1828#(not (= |ackermann_#in~n| 0))} is VALID [2022-02-21 03:06:57,592 INFO L290 TraceCheckUtils]: 11: Hoare triple {1828#(not (= |ackermann_#in~n| 0))} ~m := #in~m;~n := #in~n; {1829#(not (= ackermann_~n 0))} is VALID [2022-02-21 03:06:57,592 INFO L290 TraceCheckUtils]: 12: Hoare triple {1829#(not (= ackermann_~n 0))} assume !(0 == ~m); {1829#(not (= ackermann_~n 0))} is VALID [2022-02-21 03:06:57,593 INFO L290 TraceCheckUtils]: 13: Hoare triple {1829#(not (= ackermann_~n 0))} assume 0 == ~n; {1827#false} is VALID [2022-02-21 03:06:57,593 INFO L290 TraceCheckUtils]: 14: Hoare triple {1827#false} assume ~m - 1 <= 2147483647; {1827#false} is VALID [2022-02-21 03:06:57,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {1827#false} assume !(~m - 1 >= -2147483648); {1827#false} is VALID [2022-02-21 03:06:57,594 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:06:57,594 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:57,594 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [786999206] [2022-02-21 03:06:57,594 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [786999206] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:57,594 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:57,594 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:57,595 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1271136513] [2022-02-21 03:06:57,595 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:57,595 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 1 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 16 [2022-02-21 03:06:57,596 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:57,596 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 1 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:06:57,606 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:06:57,606 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-21 03:06:57,606 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:57,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-21 03:06:57,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-21 03:06:57,608 INFO L87 Difference]: Start difference. First operand 100 states and 126 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 1 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:06:57,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:57,785 INFO L93 Difference]: Finished difference Result 174 states and 233 transitions. [2022-02-21 03:06:57,785 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-21 03:06:57,785 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 1 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 16 [2022-02-21 03:06:57,786 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:57,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 1 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:06:57,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 92 transitions. [2022-02-21 03:06:57,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 1 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:06:57,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 92 transitions. [2022-02-21 03:06:57,791 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 92 transitions. [2022-02-21 03:06:57,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:57,882 INFO L225 Difference]: With dead ends: 174 [2022-02-21 03:06:57,882 INFO L226 Difference]: Without dead ends: 103 [2022-02-21 03:06:57,883 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:57,883 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 30 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:57,884 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 81 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-21 03:06:57,884 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-02-21 03:06:57,955 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 96. [2022-02-21 03:06:57,955 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:57,955 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 96 states, 71 states have (on average 1.295774647887324) internal successors, (92), 78 states have internal predecessors, (92), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-21 03:06:57,956 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 96 states, 71 states have (on average 1.295774647887324) internal successors, (92), 78 states have internal predecessors, (92), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-21 03:06:57,956 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 96 states, 71 states have (on average 1.295774647887324) internal successors, (92), 78 states have internal predecessors, (92), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-21 03:06:57,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:57,959 INFO L93 Difference]: Finished difference Result 103 states and 131 transitions. [2022-02-21 03:06:57,959 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 131 transitions. [2022-02-21 03:06:57,960 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:57,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:57,960 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 71 states have (on average 1.295774647887324) internal successors, (92), 78 states have internal predecessors, (92), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 103 states. [2022-02-21 03:06:57,961 INFO L87 Difference]: Start difference. First operand has 96 states, 71 states have (on average 1.295774647887324) internal successors, (92), 78 states have internal predecessors, (92), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 103 states. [2022-02-21 03:06:57,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:57,964 INFO L93 Difference]: Finished difference Result 103 states and 131 transitions. [2022-02-21 03:06:57,964 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 131 transitions. [2022-02-21 03:06:57,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:57,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:57,964 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:57,964 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:57,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 71 states have (on average 1.295774647887324) internal successors, (92), 78 states have internal predecessors, (92), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-02-21 03:06:57,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 119 transitions. [2022-02-21 03:06:57,967 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 119 transitions. Word has length 16 [2022-02-21 03:06:57,967 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:57,967 INFO L470 AbstractCegarLoop]: Abstraction has 96 states and 119 transitions. [2022-02-21 03:06:57,968 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 1 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:06:57,968 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 119 transitions. [2022-02-21 03:06:57,968 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-21 03:06:57,968 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:57,968 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:57,968 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-21 03:06:57,968 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ackermannErr5ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:06:57,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:57,969 INFO L85 PathProgramCache]: Analyzing trace with hash 219399894, now seen corresponding path program 1 times [2022-02-21 03:06:57,969 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:57,969 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [727850258] [2022-02-21 03:06:57,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:57,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:57,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:58,019 INFO L290 TraceCheckUtils]: 0: Hoare triple {2365#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(16, 2);call #Ultimate.allocInit(12, 3); {2365#true} is VALID [2022-02-21 03:06:58,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {2365#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2365#true} is VALID [2022-02-21 03:06:58,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {2365#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {2367#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:06:58,020 INFO L290 TraceCheckUtils]: 3: Hoare triple {2367#(<= 0 |ULTIMATE.start_main_~m~0#1|)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {2367#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:06:58,021 INFO L272 TraceCheckUtils]: 4: Hoare triple {2367#(<= 0 |ULTIMATE.start_main_~m~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {2368#(<= 0 |ackermann_#in~m|)} is VALID [2022-02-21 03:06:58,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {2368#(<= 0 |ackermann_#in~m|)} ~m := #in~m;~n := #in~n; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,021 INFO L290 TraceCheckUtils]: 6: Hoare triple {2369#(<= 0 ackermann_~m)} assume !(0 == ~m); {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {2369#(<= 0 ackermann_~m)} assume 0 == ~n; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {2369#(<= 0 ackermann_~m)} assume ~m - 1 <= 2147483647; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,022 INFO L290 TraceCheckUtils]: 9: Hoare triple {2369#(<= 0 ackermann_~m)} assume ~m - 1 >= -2147483648; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,023 INFO L272 TraceCheckUtils]: 10: Hoare triple {2369#(<= 0 ackermann_~m)} call #t~ret4 := ackermann(~m - 1, 1); {2370#(<= 0 (+ |ackermann_#in~m| 1))} is VALID [2022-02-21 03:06:58,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {2370#(<= 0 (+ |ackermann_#in~m| 1))} ~m := #in~m;~n := #in~n; {2371#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:06:58,024 INFO L290 TraceCheckUtils]: 12: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume !(0 == ~m); {2371#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:06:58,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume !(0 == ~n); {2371#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:06:58,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume ~m - 1 <= 2147483647; {2371#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:06:58,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume !(~m - 1 >= -2147483648); {2366#false} is VALID [2022-02-21 03:06:58,025 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:06:58,025 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:58,025 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [727850258] [2022-02-21 03:06:58,025 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [727850258] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:58,025 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1285270434] [2022-02-21 03:06:58,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:58,026 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:58,026 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:58,027 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:06:58,033 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:06:58,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:58,066 INFO L263 TraceCheckSpWp]: Trace formula consists of 64 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-21 03:06:58,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:58,087 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:58,241 INFO L290 TraceCheckUtils]: 0: Hoare triple {2365#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(16, 2);call #Ultimate.allocInit(12, 3); {2365#true} is VALID [2022-02-21 03:06:58,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {2365#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2365#true} is VALID [2022-02-21 03:06:58,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {2365#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {2367#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:06:58,243 INFO L290 TraceCheckUtils]: 3: Hoare triple {2367#(<= 0 |ULTIMATE.start_main_~m~0#1|)} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {2367#(<= 0 |ULTIMATE.start_main_~m~0#1|)} is VALID [2022-02-21 03:06:58,244 INFO L272 TraceCheckUtils]: 4: Hoare triple {2367#(<= 0 |ULTIMATE.start_main_~m~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {2368#(<= 0 |ackermann_#in~m|)} is VALID [2022-02-21 03:06:58,244 INFO L290 TraceCheckUtils]: 5: Hoare triple {2368#(<= 0 |ackermann_#in~m|)} ~m := #in~m;~n := #in~n; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,244 INFO L290 TraceCheckUtils]: 6: Hoare triple {2369#(<= 0 ackermann_~m)} assume !(0 == ~m); {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,245 INFO L290 TraceCheckUtils]: 7: Hoare triple {2369#(<= 0 ackermann_~m)} assume 0 == ~n; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {2369#(<= 0 ackermann_~m)} assume ~m - 1 <= 2147483647; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {2369#(<= 0 ackermann_~m)} assume ~m - 1 >= -2147483648; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:58,246 INFO L272 TraceCheckUtils]: 10: Hoare triple {2369#(<= 0 ackermann_~m)} call #t~ret4 := ackermann(~m - 1, 1); {2370#(<= 0 (+ |ackermann_#in~m| 1))} is VALID [2022-02-21 03:06:58,247 INFO L290 TraceCheckUtils]: 11: Hoare triple {2370#(<= 0 (+ |ackermann_#in~m| 1))} ~m := #in~m;~n := #in~n; {2371#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:06:58,247 INFO L290 TraceCheckUtils]: 12: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume !(0 == ~m); {2371#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:06:58,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume !(0 == ~n); {2371#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:06:58,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume ~m - 1 <= 2147483647; {2371#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:06:58,249 INFO L290 TraceCheckUtils]: 15: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume !(~m - 1 >= -2147483648); {2366#false} is VALID [2022-02-21 03:06:58,249 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:06:58,249 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:58,379 INFO L290 TraceCheckUtils]: 15: Hoare triple {2420#(<= 0 (+ ackermann_~m 2147483647))} assume !(~m - 1 >= -2147483648); {2366#false} is VALID [2022-02-21 03:06:58,379 INFO L290 TraceCheckUtils]: 14: Hoare triple {2420#(<= 0 (+ ackermann_~m 2147483647))} assume ~m - 1 <= 2147483647; {2420#(<= 0 (+ ackermann_~m 2147483647))} is VALID [2022-02-21 03:06:58,380 INFO L290 TraceCheckUtils]: 13: Hoare triple {2420#(<= 0 (+ ackermann_~m 2147483647))} assume !(0 == ~n); {2420#(<= 0 (+ ackermann_~m 2147483647))} is VALID [2022-02-21 03:06:58,380 INFO L290 TraceCheckUtils]: 12: Hoare triple {2420#(<= 0 (+ ackermann_~m 2147483647))} assume !(0 == ~m); {2420#(<= 0 (+ ackermann_~m 2147483647))} is VALID [2022-02-21 03:06:58,381 INFO L290 TraceCheckUtils]: 11: Hoare triple {2433#(<= 0 (+ |ackermann_#in~m| 2147483647))} ~m := #in~m;~n := #in~n; {2420#(<= 0 (+ ackermann_~m 2147483647))} is VALID [2022-02-21 03:06:58,382 INFO L272 TraceCheckUtils]: 10: Hoare triple {2437#(<= 0 (+ ackermann_~m 2147483646))} call #t~ret4 := ackermann(~m - 1, 1); {2433#(<= 0 (+ |ackermann_#in~m| 2147483647))} is VALID [2022-02-21 03:06:58,382 INFO L290 TraceCheckUtils]: 9: Hoare triple {2437#(<= 0 (+ ackermann_~m 2147483646))} assume ~m - 1 >= -2147483648; {2437#(<= 0 (+ ackermann_~m 2147483646))} is VALID [2022-02-21 03:06:58,382 INFO L290 TraceCheckUtils]: 8: Hoare triple {2437#(<= 0 (+ ackermann_~m 2147483646))} assume ~m - 1 <= 2147483647; {2437#(<= 0 (+ ackermann_~m 2147483646))} is VALID [2022-02-21 03:06:58,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {2437#(<= 0 (+ ackermann_~m 2147483646))} assume 0 == ~n; {2437#(<= 0 (+ ackermann_~m 2147483646))} is VALID [2022-02-21 03:06:58,383 INFO L290 TraceCheckUtils]: 6: Hoare triple {2437#(<= 0 (+ ackermann_~m 2147483646))} assume !(0 == ~m); {2437#(<= 0 (+ ackermann_~m 2147483646))} is VALID [2022-02-21 03:06:58,385 INFO L290 TraceCheckUtils]: 5: Hoare triple {2453#(<= 0 (+ |ackermann_#in~m| 2147483646))} ~m := #in~m;~n := #in~n; {2437#(<= 0 (+ ackermann_~m 2147483646))} is VALID [2022-02-21 03:06:58,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {2457#(<= 0 (+ |ULTIMATE.start_main_~m~0#1| 2147483646))} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {2453#(<= 0 (+ |ackermann_#in~m| 2147483646))} is VALID [2022-02-21 03:06:58,387 INFO L290 TraceCheckUtils]: 3: Hoare triple {2457#(<= 0 (+ |ULTIMATE.start_main_~m~0#1| 2147483646))} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {2457#(<= 0 (+ |ULTIMATE.start_main_~m~0#1| 2147483646))} is VALID [2022-02-21 03:06:58,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {2365#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {2457#(<= 0 (+ |ULTIMATE.start_main_~m~0#1| 2147483646))} is VALID [2022-02-21 03:06:58,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {2365#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2365#true} is VALID [2022-02-21 03:06:58,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {2365#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(16, 2);call #Ultimate.allocInit(12, 3); {2365#true} is VALID [2022-02-21 03:06:58,388 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:06:58,388 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1285270434] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:06:58,388 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:06:58,388 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 11 [2022-02-21 03:06:58,389 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1563124095] [2022-02-21 03:06:58,389 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:06:58,389 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-21 03:06:58,390 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:58,390 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:06:58,410 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:58,411 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-21 03:06:58,411 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:58,411 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-21 03:06:58,411 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-02-21 03:06:58,412 INFO L87 Difference]: Start difference. First operand 96 states and 119 transitions. Second operand has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:06:59,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:59,381 INFO L93 Difference]: Finished difference Result 274 states and 356 transitions. [2022-02-21 03:06:59,381 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-21 03:06:59,382 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-21 03:06:59,382 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:59,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:06:59,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 164 transitions. [2022-02-21 03:06:59,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:06:59,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 164 transitions. [2022-02-21 03:06:59,390 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 164 transitions. [2022-02-21 03:06:59,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:59,543 INFO L225 Difference]: With dead ends: 274 [2022-02-21 03:06:59,543 INFO L226 Difference]: Without dead ends: 272 [2022-02-21 03:06:59,544 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 25 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=104, Invalid=238, Unknown=0, NotChecked=0, Total=342 [2022-02-21 03:06:59,544 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 230 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 236 SdHoareTripleChecker+Valid, 212 SdHoareTripleChecker+Invalid, 255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 88 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:59,545 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [236 Valid, 212 Invalid, 255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [88 Valid, 167 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-21 03:06:59,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-02-21 03:06:59,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 236. [2022-02-21 03:06:59,717 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:59,717 INFO L82 GeneralOperation]: Start isEquivalent. First operand 272 states. Second operand has 236 states, 182 states have (on average 1.2637362637362637) internal successors, (230), 189 states have internal predecessors, (230), 36 states have call successors, (36), 13 states have call predecessors, (36), 12 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-02-21 03:06:59,718 INFO L74 IsIncluded]: Start isIncluded. First operand 272 states. Second operand has 236 states, 182 states have (on average 1.2637362637362637) internal successors, (230), 189 states have internal predecessors, (230), 36 states have call successors, (36), 13 states have call predecessors, (36), 12 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-02-21 03:06:59,719 INFO L87 Difference]: Start difference. First operand 272 states. Second operand has 236 states, 182 states have (on average 1.2637362637362637) internal successors, (230), 189 states have internal predecessors, (230), 36 states have call successors, (36), 13 states have call predecessors, (36), 12 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-02-21 03:06:59,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:59,727 INFO L93 Difference]: Finished difference Result 272 states and 341 transitions. [2022-02-21 03:06:59,727 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 341 transitions. [2022-02-21 03:06:59,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:59,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:59,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 236 states, 182 states have (on average 1.2637362637362637) internal successors, (230), 189 states have internal predecessors, (230), 36 states have call successors, (36), 13 states have call predecessors, (36), 12 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 272 states. [2022-02-21 03:06:59,729 INFO L87 Difference]: Start difference. First operand has 236 states, 182 states have (on average 1.2637362637362637) internal successors, (230), 189 states have internal predecessors, (230), 36 states have call successors, (36), 13 states have call predecessors, (36), 12 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 272 states. [2022-02-21 03:06:59,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:59,737 INFO L93 Difference]: Finished difference Result 272 states and 341 transitions. [2022-02-21 03:06:59,737 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 341 transitions. [2022-02-21 03:06:59,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:59,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:59,738 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:59,738 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:59,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 236 states, 182 states have (on average 1.2637362637362637) internal successors, (230), 189 states have internal predecessors, (230), 36 states have call successors, (36), 13 states have call predecessors, (36), 12 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-02-21 03:06:59,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 236 states to 236 states and 299 transitions. [2022-02-21 03:06:59,744 INFO L78 Accepts]: Start accepts. Automaton has 236 states and 299 transitions. Word has length 16 [2022-02-21 03:06:59,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:59,744 INFO L470 AbstractCegarLoop]: Abstraction has 236 states and 299 transitions. [2022-02-21 03:06:59,745 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:06:59,745 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 299 transitions. [2022-02-21 03:06:59,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-21 03:06:59,745 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:59,745 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:59,764 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:06:59,964 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:06:59,964 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:06:59,965 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:59,965 INFO L85 PathProgramCache]: Analyzing trace with hash 1162887243, now seen corresponding path program 1 times [2022-02-21 03:06:59,965 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:59,965 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [851964097] [2022-02-21 03:06:59,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:59,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:59,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:00,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {3635#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(16, 2);call #Ultimate.allocInit(12, 3); {3635#true} is VALID [2022-02-21 03:07:00,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {3635#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3635#true} is VALID [2022-02-21 03:07:00,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {3635#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {3635#true} is VALID [2022-02-21 03:07:00,019 INFO L290 TraceCheckUtils]: 3: Hoare triple {3635#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {3637#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:07:00,020 INFO L272 TraceCheckUtils]: 4: Hoare triple {3637#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {3638#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:00,020 INFO L290 TraceCheckUtils]: 5: Hoare triple {3638#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:00,020 INFO L290 TraceCheckUtils]: 6: Hoare triple {3639#(<= 0 ackermann_~n)} assume !(0 == ~m); {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:00,021 INFO L290 TraceCheckUtils]: 7: Hoare triple {3639#(<= 0 ackermann_~n)} assume !(0 == ~n); {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:00,021 INFO L290 TraceCheckUtils]: 8: Hoare triple {3639#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:00,021 INFO L290 TraceCheckUtils]: 9: Hoare triple {3639#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:00,022 INFO L290 TraceCheckUtils]: 10: Hoare triple {3639#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:00,022 INFO L290 TraceCheckUtils]: 11: Hoare triple {3639#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:00,023 INFO L272 TraceCheckUtils]: 12: Hoare triple {3639#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {3640#(<= 0 (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:00,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {3640#(<= 0 (+ |ackermann_#in~n| 1))} ~m := #in~m;~n := #in~n; {3641#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:00,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {3641#(<= 0 (+ ackermann_~n 1))} assume 0 == ~m; {3641#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:00,024 INFO L290 TraceCheckUtils]: 15: Hoare triple {3641#(<= 0 (+ ackermann_~n 1))} assume 1 + ~n <= 2147483647; {3641#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:00,024 INFO L290 TraceCheckUtils]: 16: Hoare triple {3641#(<= 0 (+ ackermann_~n 1))} assume !(1 + ~n >= -2147483648); {3636#false} is VALID [2022-02-21 03:07:00,024 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:07:00,024 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:00,024 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [851964097] [2022-02-21 03:07:00,024 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [851964097] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:00,024 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [610148500] [2022-02-21 03:07:00,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:00,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:00,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:00,026 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:07:00,029 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:07:00,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:00,061 INFO L263 TraceCheckSpWp]: Trace formula consists of 65 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-21 03:07:00,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:00,066 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:00,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {3635#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(16, 2);call #Ultimate.allocInit(12, 3); {3635#true} is VALID [2022-02-21 03:07:00,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {3635#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3635#true} is VALID [2022-02-21 03:07:00,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {3635#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {3635#true} is VALID [2022-02-21 03:07:00,147 INFO L290 TraceCheckUtils]: 3: Hoare triple {3635#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {3635#true} is VALID [2022-02-21 03:07:00,147 INFO L272 TraceCheckUtils]: 4: Hoare triple {3635#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {3635#true} is VALID [2022-02-21 03:07:00,147 INFO L290 TraceCheckUtils]: 5: Hoare triple {3635#true} ~m := #in~m;~n := #in~n; {3635#true} is VALID [2022-02-21 03:07:00,147 INFO L290 TraceCheckUtils]: 6: Hoare triple {3635#true} assume !(0 == ~m); {3635#true} is VALID [2022-02-21 03:07:00,148 INFO L290 TraceCheckUtils]: 7: Hoare triple {3635#true} assume !(0 == ~n); {3635#true} is VALID [2022-02-21 03:07:00,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {3635#true} assume ~m - 1 <= 2147483647; {3635#true} is VALID [2022-02-21 03:07:00,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {3635#true} assume ~m - 1 >= -2147483648; {3635#true} is VALID [2022-02-21 03:07:00,148 INFO L290 TraceCheckUtils]: 10: Hoare triple {3635#true} assume ~n - 1 <= 2147483647; {3635#true} is VALID [2022-02-21 03:07:00,148 INFO L290 TraceCheckUtils]: 11: Hoare triple {3635#true} assume ~n - 1 >= -2147483648; {3678#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:00,149 INFO L272 TraceCheckUtils]: 12: Hoare triple {3678#(<= 0 (+ ackermann_~n 2147483647))} call #t~ret5 := ackermann(~m, ~n - 1); {3682#(<= 0 (+ |ackermann_#in~n| 2147483648))} is VALID [2022-02-21 03:07:00,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {3682#(<= 0 (+ |ackermann_#in~n| 2147483648))} ~m := #in~m;~n := #in~n; {3686#(<= 0 (+ ackermann_~n 2147483648))} is VALID [2022-02-21 03:07:00,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {3686#(<= 0 (+ ackermann_~n 2147483648))} assume 0 == ~m; {3686#(<= 0 (+ ackermann_~n 2147483648))} is VALID [2022-02-21 03:07:00,150 INFO L290 TraceCheckUtils]: 15: Hoare triple {3686#(<= 0 (+ ackermann_~n 2147483648))} assume 1 + ~n <= 2147483647; {3686#(<= 0 (+ ackermann_~n 2147483648))} is VALID [2022-02-21 03:07:00,150 INFO L290 TraceCheckUtils]: 16: Hoare triple {3686#(<= 0 (+ ackermann_~n 2147483648))} assume !(1 + ~n >= -2147483648); {3636#false} is VALID [2022-02-21 03:07:00,150 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:07:00,150 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-21 03:07:00,151 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [610148500] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:07:00,151 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-21 03:07:00,151 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 9 [2022-02-21 03:07:00,151 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [308200269] [2022-02-21 03:07:00,151 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:07:00,151 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 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 17 [2022-02-21 03:07:00,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:00,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 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:07:00,161 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:00,161 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:07:00,161 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:00,162 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:07:00,162 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-02-21 03:07:00,163 INFO L87 Difference]: Start difference. First operand 236 states and 299 transitions. Second operand has 5 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 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:07:00,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:00,569 INFO L93 Difference]: Finished difference Result 328 states and 437 transitions. [2022-02-21 03:07:00,569 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:07:00,570 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 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 17 [2022-02-21 03:07:00,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:00,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 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:07:00,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-02-21 03:07:00,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 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:07:00,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-02-21 03:07:00,575 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-02-21 03:07:00,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:00,648 INFO L225 Difference]: With dead ends: 328 [2022-02-21 03:07:00,649 INFO L226 Difference]: Without dead ends: 327 [2022-02-21 03:07:00,649 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-02-21 03:07:00,650 INFO L933 BasicCegarLoop]: 42 mSDtfsCounter, 40 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:00,650 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 102 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 03:07:00,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 327 states. [2022-02-21 03:07:00,910 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 327 to 293. [2022-02-21 03:07:00,910 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:00,915 INFO L82 GeneralOperation]: Start isEquivalent. First operand 327 states. Second operand has 293 states, 227 states have (on average 1.2599118942731278) internal successors, (286), 234 states have internal predecessors, (286), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (42), 42 states have call predecessors, (42), 42 states have call successors, (42) [2022-02-21 03:07:00,917 INFO L74 IsIncluded]: Start isIncluded. First operand 327 states. Second operand has 293 states, 227 states have (on average 1.2599118942731278) internal successors, (286), 234 states have internal predecessors, (286), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (42), 42 states have call predecessors, (42), 42 states have call successors, (42) [2022-02-21 03:07:00,920 INFO L87 Difference]: Start difference. First operand 327 states. Second operand has 293 states, 227 states have (on average 1.2599118942731278) internal successors, (286), 234 states have internal predecessors, (286), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (42), 42 states have call predecessors, (42), 42 states have call successors, (42) [2022-02-21 03:07:00,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:00,932 INFO L93 Difference]: Finished difference Result 327 states and 430 transitions. [2022-02-21 03:07:00,932 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 430 transitions. [2022-02-21 03:07:00,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:00,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:00,935 INFO L74 IsIncluded]: Start isIncluded. First operand has 293 states, 227 states have (on average 1.2599118942731278) internal successors, (286), 234 states have internal predecessors, (286), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (42), 42 states have call predecessors, (42), 42 states have call successors, (42) Second operand 327 states. [2022-02-21 03:07:00,935 INFO L87 Difference]: Start difference. First operand has 293 states, 227 states have (on average 1.2599118942731278) internal successors, (286), 234 states have internal predecessors, (286), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (42), 42 states have call predecessors, (42), 42 states have call successors, (42) Second operand 327 states. [2022-02-21 03:07:00,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:00,960 INFO L93 Difference]: Finished difference Result 327 states and 430 transitions. [2022-02-21 03:07:00,960 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 430 transitions. [2022-02-21 03:07:00,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:00,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:00,962 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:00,962 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:00,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 293 states, 227 states have (on average 1.2599118942731278) internal successors, (286), 234 states have internal predecessors, (286), 45 states have call successors, (45), 16 states have call predecessors, (45), 15 states have return successors, (42), 42 states have call predecessors, (42), 42 states have call successors, (42) [2022-02-21 03:07:00,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 293 states to 293 states and 373 transitions. [2022-02-21 03:07:00,973 INFO L78 Accepts]: Start accepts. Automaton has 293 states and 373 transitions. Word has length 17 [2022-02-21 03:07:00,974 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:00,974 INFO L470 AbstractCegarLoop]: Abstraction has 293 states and 373 transitions. [2022-02-21 03:07:00,974 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 3 states have (on average 5.0) internal successors, (15), 4 states have internal predecessors, (15), 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:07:00,974 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 373 transitions. [2022-02-21 03:07:00,975 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-21 03:07:00,975 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:00,975 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:00,995 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:07:01,195 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:07:01,195 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ackermannErr7ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:01,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:01,196 INFO L85 PathProgramCache]: Analyzing trace with hash 523262015, now seen corresponding path program 1 times [2022-02-21 03:07:01,196 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:01,196 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1696636194] [2022-02-21 03:07:01,196 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:01,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:01,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:01,245 INFO L290 TraceCheckUtils]: 0: Hoare triple {5097#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(16, 2);call #Ultimate.allocInit(12, 3); {5097#true} is VALID [2022-02-21 03:07:01,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {5097#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5097#true} is VALID [2022-02-21 03:07:01,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {5097#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {5097#true} is VALID [2022-02-21 03:07:01,245 INFO L290 TraceCheckUtils]: 3: Hoare triple {5097#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {5099#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:07:01,246 INFO L272 TraceCheckUtils]: 4: Hoare triple {5099#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {5100#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:01,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {5100#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,247 INFO L290 TraceCheckUtils]: 6: Hoare triple {5101#(<= 0 ackermann_~n)} assume !(0 == ~m); {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {5101#(<= 0 ackermann_~n)} assume !(0 == ~n); {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,248 INFO L290 TraceCheckUtils]: 10: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,249 INFO L272 TraceCheckUtils]: 12: Hoare triple {5101#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {5102#(<= 0 (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:01,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {5102#(<= 0 (+ |ackermann_#in~n| 1))} ~m := #in~m;~n := #in~n; {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,250 INFO L290 TraceCheckUtils]: 14: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~m); {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,250 INFO L290 TraceCheckUtils]: 15: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~n); {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,251 INFO L290 TraceCheckUtils]: 16: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 <= 2147483647; {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,251 INFO L290 TraceCheckUtils]: 17: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 >= -2147483648; {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume ~n - 1 <= 2147483647; {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,252 INFO L290 TraceCheckUtils]: 19: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume !(~n - 1 >= -2147483648); {5098#false} is VALID [2022-02-21 03:07:01,252 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:07:01,252 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:01,252 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1696636194] [2022-02-21 03:07:01,253 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1696636194] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:01,253 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [333852524] [2022-02-21 03:07:01,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:01,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:01,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:01,254 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:07:01,255 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:07:01,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:01,284 INFO L263 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-21 03:07:01,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:01,291 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:01,382 INFO L290 TraceCheckUtils]: 0: Hoare triple {5097#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(16, 2);call #Ultimate.allocInit(12, 3); {5097#true} is VALID [2022-02-21 03:07:01,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {5097#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5097#true} is VALID [2022-02-21 03:07:01,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {5097#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {5097#true} is VALID [2022-02-21 03:07:01,383 INFO L290 TraceCheckUtils]: 3: Hoare triple {5097#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {5099#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:07:01,383 INFO L272 TraceCheckUtils]: 4: Hoare triple {5099#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {5100#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:01,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {5100#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,384 INFO L290 TraceCheckUtils]: 6: Hoare triple {5101#(<= 0 ackermann_~n)} assume !(0 == ~m); {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {5101#(<= 0 ackermann_~n)} assume !(0 == ~n); {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,385 INFO L290 TraceCheckUtils]: 10: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:01,386 INFO L272 TraceCheckUtils]: 12: Hoare triple {5101#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {5102#(<= 0 (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:01,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {5102#(<= 0 (+ |ackermann_#in~n| 1))} ~m := #in~m;~n := #in~n; {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~m); {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,387 INFO L290 TraceCheckUtils]: 15: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~n); {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,387 INFO L290 TraceCheckUtils]: 16: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 <= 2147483647; {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,388 INFO L290 TraceCheckUtils]: 17: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 >= -2147483648; {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,388 INFO L290 TraceCheckUtils]: 18: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume ~n - 1 <= 2147483647; {5103#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:01,391 INFO L290 TraceCheckUtils]: 19: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume !(~n - 1 >= -2147483648); {5098#false} is VALID [2022-02-21 03:07:01,391 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:07:01,391 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:07:01,508 INFO L290 TraceCheckUtils]: 19: Hoare triple {5164#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {5098#false} is VALID [2022-02-21 03:07:01,509 INFO L290 TraceCheckUtils]: 18: Hoare triple {5164#(<= 0 (+ ackermann_~n 2147483647))} assume ~n - 1 <= 2147483647; {5164#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:01,509 INFO L290 TraceCheckUtils]: 17: Hoare triple {5164#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 >= -2147483648; {5164#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:01,509 INFO L290 TraceCheckUtils]: 16: Hoare triple {5164#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 <= 2147483647; {5164#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:01,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {5164#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~n); {5164#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:01,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {5164#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~m); {5164#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:01,511 INFO L290 TraceCheckUtils]: 13: Hoare triple {5183#(<= 0 (+ |ackermann_#in~n| 2147483647))} ~m := #in~m;~n := #in~n; {5164#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:01,512 INFO L272 TraceCheckUtils]: 12: Hoare triple {5187#(<= 0 (+ ackermann_~n 2147483646))} call #t~ret5 := ackermann(~m, ~n - 1); {5183#(<= 0 (+ |ackermann_#in~n| 2147483647))} is VALID [2022-02-21 03:07:01,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {5187#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 >= -2147483648; {5187#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:01,513 INFO L290 TraceCheckUtils]: 10: Hoare triple {5187#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 <= 2147483647; {5187#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:01,513 INFO L290 TraceCheckUtils]: 9: Hoare triple {5187#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 >= -2147483648; {5187#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:01,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {5187#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 <= 2147483647; {5187#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:01,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {5187#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~n); {5187#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:01,514 INFO L290 TraceCheckUtils]: 6: Hoare triple {5187#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~m); {5187#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:01,515 INFO L290 TraceCheckUtils]: 5: Hoare triple {5209#(<= 0 (+ |ackermann_#in~n| 2147483646))} ~m := #in~m;~n := #in~n; {5187#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:01,515 INFO L272 TraceCheckUtils]: 4: Hoare triple {5213#(<= 0 (+ |ULTIMATE.start_main_~n~0#1| 2147483646))} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {5209#(<= 0 (+ |ackermann_#in~n| 2147483646))} is VALID [2022-02-21 03:07:01,516 INFO L290 TraceCheckUtils]: 3: Hoare triple {5097#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {5213#(<= 0 (+ |ULTIMATE.start_main_~n~0#1| 2147483646))} is VALID [2022-02-21 03:07:01,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {5097#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {5097#true} is VALID [2022-02-21 03:07:01,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {5097#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5097#true} is VALID [2022-02-21 03:07:01,516 INFO L290 TraceCheckUtils]: 0: Hoare triple {5097#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(16, 2);call #Ultimate.allocInit(12, 3); {5097#true} is VALID [2022-02-21 03:07:01,517 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:07:01,517 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [333852524] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:07:01,525 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:07:01,525 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 11 [2022-02-21 03:07:01,525 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1508564108] [2022-02-21 03:07:01,525 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:07:01,526 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 8 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 20 [2022-02-21 03:07:01,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:01,526 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 8 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:01,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:01,553 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-21 03:07:01,553 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:01,554 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-21 03:07:01,554 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-02-21 03:07:01,554 INFO L87 Difference]: Start difference. First operand 293 states and 373 transitions. Second operand has 12 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 8 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:02,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:02,601 INFO L93 Difference]: Finished difference Result 591 states and 792 transitions. [2022-02-21 03:07:02,601 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-21 03:07:02,601 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 8 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 20 [2022-02-21 03:07:02,601 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:02,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 8 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:02,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 150 transitions. [2022-02-21 03:07:02,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 8 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:02,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 150 transitions. [2022-02-21 03:07:02,606 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 150 transitions. [2022-02-21 03:07:02,723 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:02,744 INFO L225 Difference]: With dead ends: 591 [2022-02-21 03:07:02,744 INFO L226 Difference]: Without dead ends: 590 [2022-02-21 03:07:02,745 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=104, Invalid=238, Unknown=0, NotChecked=0, Total=342 [2022-02-21 03:07:02,747 INFO L933 BasicCegarLoop]: 35 mSDtfsCounter, 180 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 146 mSolverCounterSat, 67 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 183 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 213 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 67 IncrementalHoareTripleChecker+Valid, 146 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:02,747 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [183 Valid, 193 Invalid, 213 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [67 Valid, 146 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-21 03:07:02,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 590 states. [2022-02-21 03:07:03,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 590 to 521. [2022-02-21 03:07:03,175 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:03,177 INFO L82 GeneralOperation]: Start isEquivalent. First operand 590 states. Second operand has 521 states, 407 states have (on average 1.203931203931204) internal successors, (490), 414 states have internal predecessors, (490), 81 states have call successors, (81), 28 states have call predecessors, (81), 27 states have return successors, (78), 78 states have call predecessors, (78), 78 states have call successors, (78) [2022-02-21 03:07:03,178 INFO L74 IsIncluded]: Start isIncluded. First operand 590 states. Second operand has 521 states, 407 states have (on average 1.203931203931204) internal successors, (490), 414 states have internal predecessors, (490), 81 states have call successors, (81), 28 states have call predecessors, (81), 27 states have return successors, (78), 78 states have call predecessors, (78), 78 states have call successors, (78) [2022-02-21 03:07:03,178 INFO L87 Difference]: Start difference. First operand 590 states. Second operand has 521 states, 407 states have (on average 1.203931203931204) internal successors, (490), 414 states have internal predecessors, (490), 81 states have call successors, (81), 28 states have call predecessors, (81), 27 states have return successors, (78), 78 states have call predecessors, (78), 78 states have call successors, (78) [2022-02-21 03:07:03,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:03,205 INFO L93 Difference]: Finished difference Result 590 states and 780 transitions. [2022-02-21 03:07:03,205 INFO L276 IsEmpty]: Start isEmpty. Operand 590 states and 780 transitions. [2022-02-21 03:07:03,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:03,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:03,209 INFO L74 IsIncluded]: Start isIncluded. First operand has 521 states, 407 states have (on average 1.203931203931204) internal successors, (490), 414 states have internal predecessors, (490), 81 states have call successors, (81), 28 states have call predecessors, (81), 27 states have return successors, (78), 78 states have call predecessors, (78), 78 states have call successors, (78) Second operand 590 states. [2022-02-21 03:07:03,210 INFO L87 Difference]: Start difference. First operand has 521 states, 407 states have (on average 1.203931203931204) internal successors, (490), 414 states have internal predecessors, (490), 81 states have call successors, (81), 28 states have call predecessors, (81), 27 states have return successors, (78), 78 states have call predecessors, (78), 78 states have call successors, (78) Second operand 590 states. [2022-02-21 03:07:03,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:03,233 INFO L93 Difference]: Finished difference Result 590 states and 780 transitions. [2022-02-21 03:07:03,233 INFO L276 IsEmpty]: Start isEmpty. Operand 590 states and 780 transitions. [2022-02-21 03:07:03,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:03,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:03,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:03,235 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:03,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 521 states, 407 states have (on average 1.203931203931204) internal successors, (490), 414 states have internal predecessors, (490), 81 states have call successors, (81), 28 states have call predecessors, (81), 27 states have return successors, (78), 78 states have call predecessors, (78), 78 states have call successors, (78) [2022-02-21 03:07:03,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 521 states to 521 states and 649 transitions. [2022-02-21 03:07:03,251 INFO L78 Accepts]: Start accepts. Automaton has 521 states and 649 transitions. Word has length 20 [2022-02-21 03:07:03,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:03,251 INFO L470 AbstractCegarLoop]: Abstraction has 521 states and 649 transitions. [2022-02-21 03:07:03,251 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 8 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:03,251 INFO L276 IsEmpty]: Start isEmpty. Operand 521 states and 649 transitions. [2022-02-21 03:07:03,252 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-21 03:07:03,252 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:03,252 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:03,275 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:07:03,467 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:07:03,467 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:03,467 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:03,467 INFO L85 PathProgramCache]: Analyzing trace with hash 1106403678, now seen corresponding path program 1 times [2022-02-21 03:07:03,468 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:03,468 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1791049552] [2022-02-21 03:07:03,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:03,468 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:03,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:03,521 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:07:03,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:03,556 INFO L290 TraceCheckUtils]: 0: Hoare triple {7749#true} ~m := #in~m;~n := #in~n; {7760#(= ackermann_~m |ackermann_#in~m|)} is VALID [2022-02-21 03:07:03,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {7760#(= ackermann_~m |ackermann_#in~m|)} assume 0 == ~m; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:03,557 INFO L290 TraceCheckUtils]: 2: Hoare triple {7761#(= |ackermann_#in~m| 0)} assume 1 + ~n <= 2147483647; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:03,557 INFO L290 TraceCheckUtils]: 3: Hoare triple {7761#(= |ackermann_#in~m| 0)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:03,557 INFO L290 TraceCheckUtils]: 4: Hoare triple {7761#(= |ackermann_#in~m| 0)} assume true; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:03,558 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7761#(= |ackermann_#in~m| 0)} {7749#true} #62#return; {7757#(<= ackermann_~m 0)} is VALID [2022-02-21 03:07:03,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {7749#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(16, 2);call #Ultimate.allocInit(12, 3); {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {7749#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {7749#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L290 TraceCheckUtils]: 3: Hoare triple {7749#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L272 TraceCheckUtils]: 4: Hoare triple {7749#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {7749#true} ~m := #in~m;~n := #in~n; {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L290 TraceCheckUtils]: 6: Hoare triple {7749#true} assume !(0 == ~m); {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L290 TraceCheckUtils]: 7: Hoare triple {7749#true} assume !(0 == ~n); {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {7749#true} assume ~m - 1 <= 2147483647; {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {7749#true} assume ~m - 1 >= -2147483648; {7749#true} is VALID [2022-02-21 03:07:03,559 INFO L290 TraceCheckUtils]: 10: Hoare triple {7749#true} assume ~n - 1 <= 2147483647; {7749#true} is VALID [2022-02-21 03:07:03,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {7749#true} assume ~n - 1 >= -2147483648; {7749#true} is VALID [2022-02-21 03:07:03,560 INFO L272 TraceCheckUtils]: 12: Hoare triple {7749#true} call #t~ret5 := ackermann(~m, ~n - 1); {7749#true} is VALID [2022-02-21 03:07:03,561 INFO L290 TraceCheckUtils]: 13: Hoare triple {7749#true} ~m := #in~m;~n := #in~n; {7760#(= ackermann_~m |ackermann_#in~m|)} is VALID [2022-02-21 03:07:03,561 INFO L290 TraceCheckUtils]: 14: Hoare triple {7760#(= ackermann_~m |ackermann_#in~m|)} assume 0 == ~m; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:03,562 INFO L290 TraceCheckUtils]: 15: Hoare triple {7761#(= |ackermann_#in~m| 0)} assume 1 + ~n <= 2147483647; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:03,562 INFO L290 TraceCheckUtils]: 16: Hoare triple {7761#(= |ackermann_#in~m| 0)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:03,562 INFO L290 TraceCheckUtils]: 17: Hoare triple {7761#(= |ackermann_#in~m| 0)} assume true; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:03,563 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7761#(= |ackermann_#in~m| 0)} {7749#true} #62#return; {7757#(<= ackermann_~m 0)} is VALID [2022-02-21 03:07:03,563 INFO L290 TraceCheckUtils]: 19: Hoare triple {7757#(<= ackermann_~m 0)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7757#(<= ackermann_~m 0)} is VALID [2022-02-21 03:07:03,564 INFO L272 TraceCheckUtils]: 20: Hoare triple {7757#(<= ackermann_~m 0)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {7758#(<= (+ |ackermann_#in~m| 1) 0)} is VALID [2022-02-21 03:07:03,564 INFO L290 TraceCheckUtils]: 21: Hoare triple {7758#(<= (+ |ackermann_#in~m| 1) 0)} ~m := #in~m;~n := #in~n; {7759#(<= (+ ackermann_~m 1) 0)} is VALID [2022-02-21 03:07:03,565 INFO L290 TraceCheckUtils]: 22: Hoare triple {7759#(<= (+ ackermann_~m 1) 0)} assume 0 == ~m; {7750#false} is VALID [2022-02-21 03:07:03,565 INFO L290 TraceCheckUtils]: 23: Hoare triple {7750#false} assume !(1 + ~n <= 2147483647); {7750#false} is VALID [2022-02-21 03:07:03,565 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:07:03,565 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:03,565 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1791049552] [2022-02-21 03:07:03,565 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1791049552] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:03,565 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [462078421] [2022-02-21 03:07:03,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:03,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:03,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:03,567 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:07:03,568 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:07:03,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:03,600 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-21 03:07:03,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:03,611 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:03,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {7749#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(16, 2);call #Ultimate.allocInit(12, 3); {7749#true} is VALID [2022-02-21 03:07:03,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {7749#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {7749#true} is VALID [2022-02-21 03:07:03,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {7749#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {7749#true} is VALID [2022-02-21 03:07:03,804 INFO L290 TraceCheckUtils]: 3: Hoare triple {7749#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {7774#(not (< 23 |ULTIMATE.start_main_~n~0#1|))} is VALID [2022-02-21 03:07:03,805 INFO L272 TraceCheckUtils]: 4: Hoare triple {7774#(not (< 23 |ULTIMATE.start_main_~n~0#1|))} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {7778#(<= |ackermann_#in~n| 23)} is VALID [2022-02-21 03:07:03,805 INFO L290 TraceCheckUtils]: 5: Hoare triple {7778#(<= |ackermann_#in~n| 23)} ~m := #in~m;~n := #in~n; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:07:03,806 INFO L290 TraceCheckUtils]: 6: Hoare triple {7782#(<= ackermann_~n 23)} assume !(0 == ~m); {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:07:03,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {7782#(<= ackermann_~n 23)} assume !(0 == ~n); {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:07:03,806 INFO L290 TraceCheckUtils]: 8: Hoare triple {7782#(<= ackermann_~n 23)} assume ~m - 1 <= 2147483647; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:07:03,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {7782#(<= ackermann_~n 23)} assume ~m - 1 >= -2147483648; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:07:03,807 INFO L290 TraceCheckUtils]: 10: Hoare triple {7782#(<= ackermann_~n 23)} assume ~n - 1 <= 2147483647; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:07:03,808 INFO L290 TraceCheckUtils]: 11: Hoare triple {7782#(<= ackermann_~n 23)} assume ~n - 1 >= -2147483648; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:07:03,808 INFO L272 TraceCheckUtils]: 12: Hoare triple {7782#(<= ackermann_~n 23)} call #t~ret5 := ackermann(~m, ~n - 1); {7749#true} is VALID [2022-02-21 03:07:03,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {7749#true} ~m := #in~m;~n := #in~n; {7807#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:03,811 INFO L290 TraceCheckUtils]: 14: Hoare triple {7807#(<= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {7807#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:03,811 INFO L290 TraceCheckUtils]: 15: Hoare triple {7807#(<= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {7807#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:03,812 INFO L290 TraceCheckUtils]: 16: Hoare triple {7807#(<= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {7817#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:03,812 INFO L290 TraceCheckUtils]: 17: Hoare triple {7817#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} assume true; {7817#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:03,813 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7817#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} {7782#(<= ackermann_~n 23)} #62#return; {7824#(<= |ackermann_#t~ret5| 23)} is VALID [2022-02-21 03:07:03,816 INFO L290 TraceCheckUtils]: 19: Hoare triple {7824#(<= |ackermann_#t~ret5| 23)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7824#(<= |ackermann_#t~ret5| 23)} is VALID [2022-02-21 03:07:03,817 INFO L272 TraceCheckUtils]: 20: Hoare triple {7824#(<= |ackermann_#t~ret5| 23)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {7778#(<= |ackermann_#in~n| 23)} is VALID [2022-02-21 03:07:03,818 INFO L290 TraceCheckUtils]: 21: Hoare triple {7778#(<= |ackermann_#in~n| 23)} ~m := #in~m;~n := #in~n; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:07:03,819 INFO L290 TraceCheckUtils]: 22: Hoare triple {7782#(<= ackermann_~n 23)} assume 0 == ~m; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:07:03,819 INFO L290 TraceCheckUtils]: 23: Hoare triple {7782#(<= ackermann_~n 23)} assume !(1 + ~n <= 2147483647); {7750#false} is VALID [2022-02-21 03:07:03,819 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-21 03:07:03,819 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:07:04,216 INFO L290 TraceCheckUtils]: 23: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume !(1 + ~n <= 2147483647); {7750#false} is VALID [2022-02-21 03:07:04,216 INFO L290 TraceCheckUtils]: 22: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume 0 == ~m; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:04,217 INFO L290 TraceCheckUtils]: 21: Hoare triple {7847#(<= |ackermann_#in~n| 2147483646)} ~m := #in~m;~n := #in~n; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:04,217 INFO L272 TraceCheckUtils]: 20: Hoare triple {7851#(<= |ackermann_#t~ret5| 2147483646)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {7847#(<= |ackermann_#in~n| 2147483646)} is VALID [2022-02-21 03:07:04,218 INFO L290 TraceCheckUtils]: 19: Hoare triple {7851#(<= |ackermann_#t~ret5| 2147483646)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {7851#(<= |ackermann_#t~ret5| 2147483646)} is VALID [2022-02-21 03:07:04,219 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7861#(or (<= |ackermann_#res| 2147483646) (< 2147483645 |ackermann_#in~n|))} {7840#(<= ackermann_~n 2147483646)} #62#return; {7851#(<= |ackermann_#t~ret5| 2147483646)} is VALID [2022-02-21 03:07:04,219 INFO L290 TraceCheckUtils]: 17: Hoare triple {7861#(or (<= |ackermann_#res| 2147483646) (< 2147483645 |ackermann_#in~n|))} assume true; {7861#(or (<= |ackermann_#res| 2147483646) (< 2147483645 |ackermann_#in~n|))} is VALID [2022-02-21 03:07:04,219 INFO L290 TraceCheckUtils]: 16: Hoare triple {7868#(or (<= ackermann_~n 2147483645) (< 2147483645 |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {7861#(or (<= |ackermann_#res| 2147483646) (< 2147483645 |ackermann_#in~n|))} is VALID [2022-02-21 03:07:04,220 INFO L290 TraceCheckUtils]: 15: Hoare triple {7868#(or (<= ackermann_~n 2147483645) (< 2147483645 |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {7868#(or (<= ackermann_~n 2147483645) (< 2147483645 |ackermann_#in~n|))} is VALID [2022-02-21 03:07:04,220 INFO L290 TraceCheckUtils]: 14: Hoare triple {7868#(or (<= ackermann_~n 2147483645) (< 2147483645 |ackermann_#in~n|))} assume 0 == ~m; {7868#(or (<= ackermann_~n 2147483645) (< 2147483645 |ackermann_#in~n|))} is VALID [2022-02-21 03:07:04,221 INFO L290 TraceCheckUtils]: 13: Hoare triple {7749#true} ~m := #in~m;~n := #in~n; {7868#(or (<= ackermann_~n 2147483645) (< 2147483645 |ackermann_#in~n|))} is VALID [2022-02-21 03:07:04,221 INFO L272 TraceCheckUtils]: 12: Hoare triple {7840#(<= ackermann_~n 2147483646)} call #t~ret5 := ackermann(~m, ~n - 1); {7749#true} is VALID [2022-02-21 03:07:04,221 INFO L290 TraceCheckUtils]: 11: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume ~n - 1 >= -2147483648; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:04,221 INFO L290 TraceCheckUtils]: 10: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume ~n - 1 <= 2147483647; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:04,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume ~m - 1 >= -2147483648; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:04,222 INFO L290 TraceCheckUtils]: 8: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume ~m - 1 <= 2147483647; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:04,222 INFO L290 TraceCheckUtils]: 7: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume !(0 == ~n); {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:04,223 INFO L290 TraceCheckUtils]: 6: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume !(0 == ~m); {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:04,223 INFO L290 TraceCheckUtils]: 5: Hoare triple {7847#(<= |ackermann_#in~n| 2147483646)} ~m := #in~m;~n := #in~n; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:04,224 INFO L272 TraceCheckUtils]: 4: Hoare triple {7902#(<= |ULTIMATE.start_main_~n~0#1| 2147483646)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {7847#(<= |ackermann_#in~n| 2147483646)} is VALID [2022-02-21 03:07:04,224 INFO L290 TraceCheckUtils]: 3: Hoare triple {7749#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {7902#(<= |ULTIMATE.start_main_~n~0#1| 2147483646)} is VALID [2022-02-21 03:07:04,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {7749#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {7749#true} is VALID [2022-02-21 03:07:04,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {7749#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {7749#true} is VALID [2022-02-21 03:07:04,225 INFO L290 TraceCheckUtils]: 0: Hoare triple {7749#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(16, 2);call #Ultimate.allocInit(12, 3); {7749#true} is VALID [2022-02-21 03:07:04,225 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-21 03:07:04,225 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [462078421] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:07:04,225 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:07:04,225 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 19 [2022-02-21 03:07:04,226 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1885959889] [2022-02-21 03:07:04,226 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:07:04,226 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 3.0588235294117645) internal successors, (52), 16 states have internal predecessors, (52), 8 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 24 [2022-02-21 03:07:04,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:04,227 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 3.0588235294117645) internal successors, (52), 16 states have internal predecessors, (52), 8 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-21 03:07:04,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:04,264 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-21 03:07:04,264 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:04,264 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-21 03:07:04,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2022-02-21 03:07:04,265 INFO L87 Difference]: Start difference. First operand 521 states and 649 transitions. Second operand has 19 states, 17 states have (on average 3.0588235294117645) internal successors, (52), 16 states have internal predecessors, (52), 8 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-21 03:07:06,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:06,722 INFO L93 Difference]: Finished difference Result 1286 states and 1798 transitions. [2022-02-21 03:07:06,722 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-02-21 03:07:06,722 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 3.0588235294117645) internal successors, (52), 16 states have internal predecessors, (52), 8 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 24 [2022-02-21 03:07:06,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:06,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 3.0588235294117645) internal successors, (52), 16 states have internal predecessors, (52), 8 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-21 03:07:06,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-02-21 03:07:06,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 3.0588235294117645) internal successors, (52), 16 states have internal predecessors, (52), 8 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-21 03:07:06,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-02-21 03:07:06,727 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 150 transitions. [2022-02-21 03:07:06,844 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:06,880 INFO L225 Difference]: With dead ends: 1286 [2022-02-21 03:07:06,880 INFO L226 Difference]: Without dead ends: 895 [2022-02-21 03:07:06,883 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 42 SyntacticMatches, 0 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=248, Invalid=1012, Unknown=0, NotChecked=0, Total=1260 [2022-02-21 03:07:06,883 INFO L933 BasicCegarLoop]: 13 mSDtfsCounter, 219 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 586 mSolverCounterSat, 75 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 219 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 661 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 75 IncrementalHoareTripleChecker+Valid, 586 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:06,884 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [219 Valid, 118 Invalid, 661 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [75 Valid, 586 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-21 03:07:06,885 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 895 states. [2022-02-21 03:07:07,565 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 895 to 701. [2022-02-21 03:07:07,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:07,567 INFO L82 GeneralOperation]: Start isEquivalent. First operand 895 states. Second operand has 701 states, 547 states have (on average 1.1956124314442413) internal successors, (654), 571 states have internal predecessors, (654), 102 states have call successors, (102), 44 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) [2022-02-21 03:07:07,568 INFO L74 IsIncluded]: Start isIncluded. First operand 895 states. Second operand has 701 states, 547 states have (on average 1.1956124314442413) internal successors, (654), 571 states have internal predecessors, (654), 102 states have call successors, (102), 44 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) [2022-02-21 03:07:07,569 INFO L87 Difference]: Start difference. First operand 895 states. Second operand has 701 states, 547 states have (on average 1.1956124314442413) internal successors, (654), 571 states have internal predecessors, (654), 102 states have call successors, (102), 44 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) [2022-02-21 03:07:07,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:07,612 INFO L93 Difference]: Finished difference Result 895 states and 1139 transitions. [2022-02-21 03:07:07,612 INFO L276 IsEmpty]: Start isEmpty. Operand 895 states and 1139 transitions. [2022-02-21 03:07:07,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:07,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:07,617 INFO L74 IsIncluded]: Start isIncluded. First operand has 701 states, 547 states have (on average 1.1956124314442413) internal successors, (654), 571 states have internal predecessors, (654), 102 states have call successors, (102), 44 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) Second operand 895 states. [2022-02-21 03:07:07,625 INFO L87 Difference]: Start difference. First operand has 701 states, 547 states have (on average 1.1956124314442413) internal successors, (654), 571 states have internal predecessors, (654), 102 states have call successors, (102), 44 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) Second operand 895 states. [2022-02-21 03:07:07,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:07,673 INFO L93 Difference]: Finished difference Result 895 states and 1139 transitions. [2022-02-21 03:07:07,673 INFO L276 IsEmpty]: Start isEmpty. Operand 895 states and 1139 transitions. [2022-02-21 03:07:07,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:07,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:07,678 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:07,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:07,680 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 701 states, 547 states have (on average 1.1956124314442413) internal successors, (654), 571 states have internal predecessors, (654), 102 states have call successors, (102), 44 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) [2022-02-21 03:07:07,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 701 states to 701 states and 862 transitions. [2022-02-21 03:07:07,713 INFO L78 Accepts]: Start accepts. Automaton has 701 states and 862 transitions. Word has length 24 [2022-02-21 03:07:07,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:07,713 INFO L470 AbstractCegarLoop]: Abstraction has 701 states and 862 transitions. [2022-02-21 03:07:07,713 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 3.0588235294117645) internal successors, (52), 16 states have internal predecessors, (52), 8 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-21 03:07:07,713 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 862 transitions. [2022-02-21 03:07:07,714 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-21 03:07:07,714 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:07,715 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:07,755 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:07:07,936 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:07:07,936 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ackermannErr7ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:07,937 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:07,937 INFO L85 PathProgramCache]: Analyzing trace with hash 1583952330, now seen corresponding path program 1 times [2022-02-21 03:07:07,937 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:07,937 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1663823480] [2022-02-21 03:07:07,937 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:07,937 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:07,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:07,984 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:07:07,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:08,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {12158#true} ~m := #in~m;~n := #in~n; {12170#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:08,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {12170#(= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {12170#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:08,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {12170#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {12170#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:08,019 INFO L290 TraceCheckUtils]: 3: Hoare triple {12170#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:08,020 INFO L290 TraceCheckUtils]: 4: Hoare triple {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:08,020 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {12162#(<= 0 ackermann_~n)} #62#return; {12169#(<= 0 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:08,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {12158#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(16, 2);call #Ultimate.allocInit(12, 3); {12158#true} is VALID [2022-02-21 03:07:08,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {12158#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {12158#true} is VALID [2022-02-21 03:07:08,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {12158#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {12158#true} is VALID [2022-02-21 03:07:08,022 INFO L290 TraceCheckUtils]: 3: Hoare triple {12158#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {12160#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:07:08,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {12160#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {12161#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:08,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {12161#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,023 INFO L290 TraceCheckUtils]: 6: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(0 == ~m); {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(0 == ~n); {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,024 INFO L290 TraceCheckUtils]: 10: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,024 INFO L272 TraceCheckUtils]: 12: Hoare triple {12162#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {12158#true} is VALID [2022-02-21 03:07:08,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {12158#true} ~m := #in~m;~n := #in~n; {12170#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:08,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {12170#(= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {12170#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:08,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {12170#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {12170#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:08,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {12170#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:08,027 INFO L290 TraceCheckUtils]: 17: Hoare triple {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:08,028 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {12162#(<= 0 ackermann_~n)} #62#return; {12169#(<= 0 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:08,028 INFO L290 TraceCheckUtils]: 19: Hoare triple {12169#(<= 0 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {12169#(<= 0 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:08,028 INFO L272 TraceCheckUtils]: 20: Hoare triple {12169#(<= 0 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {12161#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:08,029 INFO L290 TraceCheckUtils]: 21: Hoare triple {12161#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,029 INFO L290 TraceCheckUtils]: 22: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(0 == ~m); {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(0 == ~n); {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,030 INFO L290 TraceCheckUtils]: 25: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,030 INFO L290 TraceCheckUtils]: 26: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:08,031 INFO L290 TraceCheckUtils]: 27: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(~n - 1 >= -2147483648); {12159#false} is VALID [2022-02-21 03:07:08,032 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-21 03:07:08,032 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:08,032 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1663823480] [2022-02-21 03:07:08,032 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1663823480] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:08,032 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1176743657] [2022-02-21 03:07:08,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:08,032 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:08,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:08,033 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:07:08,047 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:07:08,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:08,101 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-21 03:07:08,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:08,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:08,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {12158#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(16, 2);call #Ultimate.allocInit(12, 3); {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {12158#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {12158#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L290 TraceCheckUtils]: 3: Hoare triple {12158#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {12158#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {12158#true} ~m := #in~m;~n := #in~n; {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L290 TraceCheckUtils]: 6: Hoare triple {12158#true} assume !(0 == ~m); {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {12158#true} assume !(0 == ~n); {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {12158#true} assume ~m - 1 <= 2147483647; {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {12158#true} assume ~m - 1 >= -2147483648; {12158#true} is VALID [2022-02-21 03:07:08,283 INFO L290 TraceCheckUtils]: 10: Hoare triple {12158#true} assume ~n - 1 <= 2147483647; {12158#true} is VALID [2022-02-21 03:07:08,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {12158#true} assume ~n - 1 >= -2147483648; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,284 INFO L272 TraceCheckUtils]: 12: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} call #t~ret5 := ackermann(~m, ~n - 1); {12158#true} is VALID [2022-02-21 03:07:08,285 INFO L290 TraceCheckUtils]: 13: Hoare triple {12158#true} ~m := #in~m;~n := #in~n; {12215#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:08,285 INFO L290 TraceCheckUtils]: 14: Hoare triple {12215#(<= |ackermann_#in~n| ackermann_~n)} assume 0 == ~m; {12215#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:08,285 INFO L290 TraceCheckUtils]: 15: Hoare triple {12215#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n <= 2147483647; {12215#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:08,286 INFO L290 TraceCheckUtils]: 16: Hoare triple {12215#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:08,286 INFO L290 TraceCheckUtils]: 17: Hoare triple {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:08,287 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12171#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {12208#(<= 0 (+ ackermann_~n 2147483647))} #62#return; {12231#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} is VALID [2022-02-21 03:07:08,287 INFO L290 TraceCheckUtils]: 19: Hoare triple {12231#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {12231#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} is VALID [2022-02-21 03:07:08,288 INFO L272 TraceCheckUtils]: 20: Hoare triple {12231#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} call #t~ret6 := ackermann(~m - 1, #t~ret5); {12238#(<= 0 (+ |ackermann_#in~n| 2147483647))} is VALID [2022-02-21 03:07:08,291 INFO L290 TraceCheckUtils]: 21: Hoare triple {12238#(<= 0 (+ |ackermann_#in~n| 2147483647))} ~m := #in~m;~n := #in~n; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,291 INFO L290 TraceCheckUtils]: 22: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~m); {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,292 INFO L290 TraceCheckUtils]: 23: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~n); {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,292 INFO L290 TraceCheckUtils]: 24: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 <= 2147483647; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,292 INFO L290 TraceCheckUtils]: 25: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 >= -2147483648; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,293 INFO L290 TraceCheckUtils]: 26: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume ~n - 1 <= 2147483647; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,293 INFO L290 TraceCheckUtils]: 27: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {12159#false} is VALID [2022-02-21 03:07:08,293 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:07:08,293 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:07:08,604 INFO L290 TraceCheckUtils]: 27: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {12159#false} is VALID [2022-02-21 03:07:08,605 INFO L290 TraceCheckUtils]: 26: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume ~n - 1 <= 2147483647; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,605 INFO L290 TraceCheckUtils]: 25: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 >= -2147483648; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,606 INFO L290 TraceCheckUtils]: 24: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 <= 2147483647; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,606 INFO L290 TraceCheckUtils]: 23: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~n); {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~m); {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {12238#(<= 0 (+ |ackermann_#in~n| 2147483647))} ~m := #in~m;~n := #in~n; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,608 INFO L272 TraceCheckUtils]: 20: Hoare triple {12231#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} call #t~ret6 := ackermann(~m - 1, #t~ret5); {12238#(<= 0 (+ |ackermann_#in~n| 2147483647))} is VALID [2022-02-21 03:07:08,608 INFO L290 TraceCheckUtils]: 19: Hoare triple {12231#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {12231#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} is VALID [2022-02-21 03:07:08,609 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12290#(or (< (+ |ackermann_#in~n| 2147483648) 0) (<= 0 (+ |ackermann_#res| 2147483647)))} {12208#(<= 0 (+ ackermann_~n 2147483647))} #62#return; {12231#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} is VALID [2022-02-21 03:07:08,609 INFO L290 TraceCheckUtils]: 17: Hoare triple {12290#(or (< (+ |ackermann_#in~n| 2147483648) 0) (<= 0 (+ |ackermann_#res| 2147483647)))} assume true; {12290#(or (< (+ |ackermann_#in~n| 2147483648) 0) (<= 0 (+ |ackermann_#res| 2147483647)))} is VALID [2022-02-21 03:07:08,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {12297#(or (<= 0 (+ ackermann_~n 2147483648)) (< (+ |ackermann_#in~n| 2147483648) 0))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {12290#(or (< (+ |ackermann_#in~n| 2147483648) 0) (<= 0 (+ |ackermann_#res| 2147483647)))} is VALID [2022-02-21 03:07:08,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {12297#(or (<= 0 (+ ackermann_~n 2147483648)) (< (+ |ackermann_#in~n| 2147483648) 0))} assume 1 + ~n <= 2147483647; {12297#(or (<= 0 (+ ackermann_~n 2147483648)) (< (+ |ackermann_#in~n| 2147483648) 0))} is VALID [2022-02-21 03:07:08,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {12297#(or (<= 0 (+ ackermann_~n 2147483648)) (< (+ |ackermann_#in~n| 2147483648) 0))} assume 0 == ~m; {12297#(or (<= 0 (+ ackermann_~n 2147483648)) (< (+ |ackermann_#in~n| 2147483648) 0))} is VALID [2022-02-21 03:07:08,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {12158#true} ~m := #in~m;~n := #in~n; {12297#(or (<= 0 (+ ackermann_~n 2147483648)) (< (+ |ackermann_#in~n| 2147483648) 0))} is VALID [2022-02-21 03:07:08,611 INFO L272 TraceCheckUtils]: 12: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} call #t~ret5 := ackermann(~m, ~n - 1); {12158#true} is VALID [2022-02-21 03:07:08,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {12158#true} assume ~n - 1 >= -2147483648; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:08,612 INFO L290 TraceCheckUtils]: 10: Hoare triple {12158#true} assume ~n - 1 <= 2147483647; {12158#true} is VALID [2022-02-21 03:07:08,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {12158#true} assume ~m - 1 >= -2147483648; {12158#true} is VALID [2022-02-21 03:07:08,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {12158#true} assume ~m - 1 <= 2147483647; {12158#true} is VALID [2022-02-21 03:07:08,612 INFO L290 TraceCheckUtils]: 7: Hoare triple {12158#true} assume !(0 == ~n); {12158#true} is VALID [2022-02-21 03:07:08,612 INFO L290 TraceCheckUtils]: 6: Hoare triple {12158#true} assume !(0 == ~m); {12158#true} is VALID [2022-02-21 03:07:08,612 INFO L290 TraceCheckUtils]: 5: Hoare triple {12158#true} ~m := #in~m;~n := #in~n; {12158#true} is VALID [2022-02-21 03:07:08,612 INFO L272 TraceCheckUtils]: 4: Hoare triple {12158#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {12158#true} is VALID [2022-02-21 03:07:08,612 INFO L290 TraceCheckUtils]: 3: Hoare triple {12158#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {12158#true} is VALID [2022-02-21 03:07:08,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {12158#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {12158#true} is VALID [2022-02-21 03:07:08,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {12158#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {12158#true} is VALID [2022-02-21 03:07:08,613 INFO L290 TraceCheckUtils]: 0: Hoare triple {12158#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(16, 2);call #Ultimate.allocInit(12, 3); {12158#true} is VALID [2022-02-21 03:07:08,613 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-21 03:07:08,613 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1176743657] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:08,613 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-21 03:07:08,613 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [7, 6] total 13 [2022-02-21 03:07:08,613 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [312453274] [2022-02-21 03:07:08,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:07:08,614 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-02-21 03:07:08,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:08,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:07:08,633 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:07:08,641 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-21 03:07:08,641 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:08,642 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-21 03:07:08,642 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2022-02-21 03:07:08,642 INFO L87 Difference]: Start difference. First operand 701 states and 862 transitions. Second operand has 7 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:07:09,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:09,727 INFO L93 Difference]: Finished difference Result 776 states and 987 transitions. [2022-02-21 03:07:09,727 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-21 03:07:09,727 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-02-21 03:07:09,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:09,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:07:09,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 70 transitions. [2022-02-21 03:07:09,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:07:09,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 70 transitions. [2022-02-21 03:07:09,729 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 70 transitions. [2022-02-21 03:07:09,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:09,799 INFO L225 Difference]: With dead ends: 776 [2022-02-21 03:07:09,799 INFO L226 Difference]: Without dead ends: 775 [2022-02-21 03:07:09,800 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 54 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2022-02-21 03:07:09,800 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 65 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:09,800 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 109 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 03:07:09,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 775 states. [2022-02-21 03:07:10,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 775 to 722. [2022-02-21 03:07:10,456 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:10,458 INFO L82 GeneralOperation]: Start isEquivalent. First operand 775 states. Second operand has 722 states, 568 states have (on average 1.1971830985915493) internal successors, (680), 589 states have internal predecessors, (680), 102 states have call successors, (102), 47 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) [2022-02-21 03:07:10,459 INFO L74 IsIncluded]: Start isIncluded. First operand 775 states. Second operand has 722 states, 568 states have (on average 1.1971830985915493) internal successors, (680), 589 states have internal predecessors, (680), 102 states have call successors, (102), 47 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) [2022-02-21 03:07:10,460 INFO L87 Difference]: Start difference. First operand 775 states. Second operand has 722 states, 568 states have (on average 1.1971830985915493) internal successors, (680), 589 states have internal predecessors, (680), 102 states have call successors, (102), 47 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) [2022-02-21 03:07:10,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:10,497 INFO L93 Difference]: Finished difference Result 775 states and 982 transitions. [2022-02-21 03:07:10,497 INFO L276 IsEmpty]: Start isEmpty. Operand 775 states and 982 transitions. [2022-02-21 03:07:10,501 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:10,501 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:10,503 INFO L74 IsIncluded]: Start isIncluded. First operand has 722 states, 568 states have (on average 1.1971830985915493) internal successors, (680), 589 states have internal predecessors, (680), 102 states have call successors, (102), 47 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) Second operand 775 states. [2022-02-21 03:07:10,504 INFO L87 Difference]: Start difference. First operand has 722 states, 568 states have (on average 1.1971830985915493) internal successors, (680), 589 states have internal predecessors, (680), 102 states have call successors, (102), 47 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) Second operand 775 states. [2022-02-21 03:07:10,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:10,530 INFO L93 Difference]: Finished difference Result 775 states and 982 transitions. [2022-02-21 03:07:10,530 INFO L276 IsEmpty]: Start isEmpty. Operand 775 states and 982 transitions. [2022-02-21 03:07:10,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:10,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:10,535 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:10,535 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:10,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 722 states, 568 states have (on average 1.1971830985915493) internal successors, (680), 589 states have internal predecessors, (680), 102 states have call successors, (102), 47 states have call predecessors, (102), 46 states have return successors, (106), 85 states have call predecessors, (106), 78 states have call successors, (106) [2022-02-21 03:07:10,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 722 states to 722 states and 888 transitions. [2022-02-21 03:07:10,565 INFO L78 Accepts]: Start accepts. Automaton has 722 states and 888 transitions. Word has length 28 [2022-02-21 03:07:10,565 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:10,566 INFO L470 AbstractCegarLoop]: Abstraction has 722 states and 888 transitions. [2022-02-21 03:07:10,566 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 4.0) internal successors, (24), 6 states have internal predecessors, (24), 3 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-21 03:07:10,566 INFO L276 IsEmpty]: Start isEmpty. Operand 722 states and 888 transitions. [2022-02-21 03:07:10,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-21 03:07:10,566 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:10,567 INFO L514 BasicCegarLoop]: trace histogram [4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:10,604 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:07:10,778 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:07:10,778 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:10,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:10,778 INFO L85 PathProgramCache]: Analyzing trace with hash 1777813581, now seen corresponding path program 1 times [2022-02-21 03:07:10,778 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:10,778 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [908243803] [2022-02-21 03:07:10,778 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:10,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:10,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:10,813 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:07:10,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:10,845 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:07:10,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:10,871 INFO L290 TraceCheckUtils]: 0: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:10,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:10,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:10,872 INFO L290 TraceCheckUtils]: 3: Hoare triple {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:10,872 INFO L290 TraceCheckUtils]: 4: Hoare triple {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} assume true; {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:10,873 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} {15712#true} #60#return; {15738#(<= |ackermann_#t~ret4| 2)} is VALID [2022-02-21 03:07:10,876 INFO L290 TraceCheckUtils]: 0: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:07:10,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:07:10,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {15712#true} assume 0 == ~n; {15712#true} is VALID [2022-02-21 03:07:10,876 INFO L290 TraceCheckUtils]: 3: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:10,877 INFO L290 TraceCheckUtils]: 4: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:10,877 INFO L272 TraceCheckUtils]: 5: Hoare triple {15712#true} call #t~ret4 := ackermann(~m - 1, 1); {15712#true} is VALID [2022-02-21 03:07:10,877 INFO L290 TraceCheckUtils]: 6: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:10,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:10,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:10,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:10,878 INFO L290 TraceCheckUtils]: 10: Hoare triple {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} assume true; {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:10,879 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} {15712#true} #60#return; {15738#(<= |ackermann_#t~ret4| 2)} is VALID [2022-02-21 03:07:10,879 INFO L290 TraceCheckUtils]: 12: Hoare triple {15738#(<= |ackermann_#t~ret4| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {15739#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:10,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {15739#(<= |ackermann_#res| 2)} assume true; {15739#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:10,880 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {15739#(<= |ackermann_#res| 2)} {15712#true} #62#return; {15729#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:10,880 INFO L290 TraceCheckUtils]: 0: Hoare triple {15712#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(16, 2);call #Ultimate.allocInit(12, 3); {15712#true} is VALID [2022-02-21 03:07:10,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {15712#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {15712#true} is VALID [2022-02-21 03:07:10,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {15712#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {15712#true} is VALID [2022-02-21 03:07:10,881 INFO L290 TraceCheckUtils]: 3: Hoare triple {15712#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {15712#true} is VALID [2022-02-21 03:07:10,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {15712#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {15712#true} is VALID [2022-02-21 03:07:10,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:07:10,881 INFO L290 TraceCheckUtils]: 6: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:07:10,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {15712#true} assume !(0 == ~n); {15712#true} is VALID [2022-02-21 03:07:10,881 INFO L290 TraceCheckUtils]: 8: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:10,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:10,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {15712#true} assume ~n - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:10,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {15712#true} assume ~n - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:10,884 INFO L272 TraceCheckUtils]: 12: Hoare triple {15712#true} call #t~ret5 := ackermann(~m, ~n - 1); {15712#true} is VALID [2022-02-21 03:07:10,884 INFO L290 TraceCheckUtils]: 13: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:07:10,884 INFO L290 TraceCheckUtils]: 14: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:07:10,884 INFO L290 TraceCheckUtils]: 15: Hoare triple {15712#true} assume 0 == ~n; {15712#true} is VALID [2022-02-21 03:07:10,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:10,885 INFO L290 TraceCheckUtils]: 17: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:10,885 INFO L272 TraceCheckUtils]: 18: Hoare triple {15712#true} call #t~ret4 := ackermann(~m - 1, 1); {15712#true} is VALID [2022-02-21 03:07:10,885 INFO L290 TraceCheckUtils]: 19: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:10,885 INFO L290 TraceCheckUtils]: 20: Hoare triple {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:10,886 INFO L290 TraceCheckUtils]: 21: Hoare triple {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:10,886 INFO L290 TraceCheckUtils]: 22: Hoare triple {15740#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:10,886 INFO L290 TraceCheckUtils]: 23: Hoare triple {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} assume true; {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:10,887 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {15741#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} {15712#true} #60#return; {15738#(<= |ackermann_#t~ret4| 2)} is VALID [2022-02-21 03:07:10,887 INFO L290 TraceCheckUtils]: 25: Hoare triple {15738#(<= |ackermann_#t~ret4| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {15739#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:10,887 INFO L290 TraceCheckUtils]: 26: Hoare triple {15739#(<= |ackermann_#res| 2)} assume true; {15739#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:10,888 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {15739#(<= |ackermann_#res| 2)} {15712#true} #62#return; {15729#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:10,888 INFO L290 TraceCheckUtils]: 28: Hoare triple {15729#(<= |ackermann_#t~ret5| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {15729#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:10,890 INFO L272 TraceCheckUtils]: 29: Hoare triple {15729#(<= |ackermann_#t~ret5| 2)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {15730#(<= |ackermann_#in~n| 2)} is VALID [2022-02-21 03:07:10,891 INFO L290 TraceCheckUtils]: 30: Hoare triple {15730#(<= |ackermann_#in~n| 2)} ~m := #in~m;~n := #in~n; {15731#(<= ackermann_~n 2)} is VALID [2022-02-21 03:07:10,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {15731#(<= ackermann_~n 2)} assume 0 == ~m; {15731#(<= ackermann_~n 2)} is VALID [2022-02-21 03:07:10,891 INFO L290 TraceCheckUtils]: 32: Hoare triple {15731#(<= ackermann_~n 2)} assume !(1 + ~n <= 2147483647); {15713#false} is VALID [2022-02-21 03:07:10,892 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 9 proven. 2 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:10,892 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:10,892 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [908243803] [2022-02-21 03:07:10,892 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [908243803] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:10,892 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [683195263] [2022-02-21 03:07:10,892 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:10,892 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:10,892 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:10,893 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:07:10,904 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:07:10,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:10,932 INFO L263 TraceCheckSpWp]: Trace formula consists of 107 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-21 03:07:10,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:10,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:11,060 INFO L290 TraceCheckUtils]: 0: Hoare triple {15712#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(16, 2);call #Ultimate.allocInit(12, 3); {15712#true} is VALID [2022-02-21 03:07:11,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {15712#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {15712#true} is VALID [2022-02-21 03:07:11,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {15712#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {15712#true} is VALID [2022-02-21 03:07:11,061 INFO L290 TraceCheckUtils]: 3: Hoare triple {15712#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {15712#true} is VALID [2022-02-21 03:07:11,061 INFO L272 TraceCheckUtils]: 4: Hoare triple {15712#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {15712#true} is VALID [2022-02-21 03:07:11,061 INFO L290 TraceCheckUtils]: 5: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:07:11,061 INFO L290 TraceCheckUtils]: 6: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:07:11,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {15712#true} assume !(0 == ~n); {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L290 TraceCheckUtils]: 10: Hoare triple {15712#true} assume ~n - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {15712#true} assume ~n - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L272 TraceCheckUtils]: 12: Hoare triple {15712#true} call #t~ret5 := ackermann(~m, ~n - 1); {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {15712#true} assume 0 == ~n; {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L290 TraceCheckUtils]: 16: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:11,062 INFO L272 TraceCheckUtils]: 18: Hoare triple {15712#true} call #t~ret4 := ackermann(~m - 1, 1); {15712#true} is VALID [2022-02-21 03:07:11,063 INFO L290 TraceCheckUtils]: 19: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15802#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:11,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {15802#(<= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {15802#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:11,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {15802#(<= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {15802#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:11,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {15802#(<= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {15812#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:11,064 INFO L290 TraceCheckUtils]: 23: Hoare triple {15812#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} assume true; {15812#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:11,065 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {15812#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} {15712#true} #60#return; {15738#(<= |ackermann_#t~ret4| 2)} is VALID [2022-02-21 03:07:11,065 INFO L290 TraceCheckUtils]: 25: Hoare triple {15738#(<= |ackermann_#t~ret4| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {15739#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:11,066 INFO L290 TraceCheckUtils]: 26: Hoare triple {15739#(<= |ackermann_#res| 2)} assume true; {15739#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:11,066 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {15739#(<= |ackermann_#res| 2)} {15712#true} #62#return; {15729#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:11,066 INFO L290 TraceCheckUtils]: 28: Hoare triple {15729#(<= |ackermann_#t~ret5| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {15729#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:11,067 INFO L272 TraceCheckUtils]: 29: Hoare triple {15729#(<= |ackermann_#t~ret5| 2)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {15730#(<= |ackermann_#in~n| 2)} is VALID [2022-02-21 03:07:11,067 INFO L290 TraceCheckUtils]: 30: Hoare triple {15730#(<= |ackermann_#in~n| 2)} ~m := #in~m;~n := #in~n; {15731#(<= ackermann_~n 2)} is VALID [2022-02-21 03:07:11,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {15731#(<= ackermann_~n 2)} assume 0 == ~m; {15731#(<= ackermann_~n 2)} is VALID [2022-02-21 03:07:11,068 INFO L290 TraceCheckUtils]: 32: Hoare triple {15731#(<= ackermann_~n 2)} assume !(1 + ~n <= 2147483647); {15713#false} is VALID [2022-02-21 03:07:11,068 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:11,068 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:07:11,605 INFO L290 TraceCheckUtils]: 32: Hoare triple {15843#(<= ackermann_~n 2147483646)} assume !(1 + ~n <= 2147483647); {15713#false} is VALID [2022-02-21 03:07:11,605 INFO L290 TraceCheckUtils]: 31: Hoare triple {15843#(<= ackermann_~n 2147483646)} assume 0 == ~m; {15843#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:11,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {15850#(<= |ackermann_#in~n| 2147483646)} ~m := #in~m;~n := #in~n; {15843#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:07:11,606 INFO L272 TraceCheckUtils]: 29: Hoare triple {15854#(<= |ackermann_#t~ret5| 2147483646)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {15850#(<= |ackermann_#in~n| 2147483646)} is VALID [2022-02-21 03:07:11,607 INFO L290 TraceCheckUtils]: 28: Hoare triple {15854#(<= |ackermann_#t~ret5| 2147483646)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {15854#(<= |ackermann_#t~ret5| 2147483646)} is VALID [2022-02-21 03:07:11,607 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {15864#(<= |ackermann_#res| 2147483646)} {15712#true} #62#return; {15854#(<= |ackermann_#t~ret5| 2147483646)} is VALID [2022-02-21 03:07:11,607 INFO L290 TraceCheckUtils]: 26: Hoare triple {15864#(<= |ackermann_#res| 2147483646)} assume true; {15864#(<= |ackermann_#res| 2147483646)} is VALID [2022-02-21 03:07:11,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {15871#(<= |ackermann_#t~ret4| 2147483646)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {15864#(<= |ackermann_#res| 2147483646)} is VALID [2022-02-21 03:07:11,608 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {15878#(or (<= |ackermann_#res| 2147483646) (not (<= |ackermann_#in~n| 1)))} {15712#true} #60#return; {15871#(<= |ackermann_#t~ret4| 2147483646)} is VALID [2022-02-21 03:07:11,609 INFO L290 TraceCheckUtils]: 23: Hoare triple {15878#(or (<= |ackermann_#res| 2147483646) (not (<= |ackermann_#in~n| 1)))} assume true; {15878#(or (<= |ackermann_#res| 2147483646) (not (<= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:11,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {15885#(or (<= ackermann_~n 2147483645) (not (<= |ackermann_#in~n| 1)))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {15878#(or (<= |ackermann_#res| 2147483646) (not (<= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:11,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {15885#(or (<= ackermann_~n 2147483645) (not (<= |ackermann_#in~n| 1)))} assume 1 + ~n <= 2147483647; {15885#(or (<= ackermann_~n 2147483645) (not (<= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:11,610 INFO L290 TraceCheckUtils]: 20: Hoare triple {15885#(or (<= ackermann_~n 2147483645) (not (<= |ackermann_#in~n| 1)))} assume 0 == ~m; {15885#(or (<= ackermann_~n 2147483645) (not (<= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:11,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15885#(or (<= ackermann_~n 2147483645) (not (<= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:11,610 INFO L272 TraceCheckUtils]: 18: Hoare triple {15712#true} call #t~ret4 := ackermann(~m - 1, 1); {15712#true} is VALID [2022-02-21 03:07:11,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:11,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:11,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {15712#true} assume 0 == ~n; {15712#true} is VALID [2022-02-21 03:07:11,610 INFO L290 TraceCheckUtils]: 14: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L272 TraceCheckUtils]: 12: Hoare triple {15712#true} call #t~ret5 := ackermann(~m, ~n - 1); {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 11: Hoare triple {15712#true} assume ~n - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 10: Hoare triple {15712#true} assume ~n - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {15712#true} assume !(0 == ~n); {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 6: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {15712#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 3: Hoare triple {15712#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {15712#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {15712#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {15712#true} is VALID [2022-02-21 03:07:11,611 INFO L290 TraceCheckUtils]: 0: Hoare triple {15712#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(16, 2);call #Ultimate.allocInit(12, 3); {15712#true} is VALID [2022-02-21 03:07:11,612 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 9 proven. 2 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:11,612 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [683195263] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:07:11,612 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:07:11,612 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 17 [2022-02-21 03:07:11,612 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [312388314] [2022-02-21 03:07:11,612 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:07:11,612 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 14 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-02-21 03:07:11,613 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:11,613 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 14 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:11,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:11,643 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-21 03:07:11,643 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:11,643 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-21 03:07:11,643 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=260, Unknown=0, NotChecked=0, Total=306 [2022-02-21 03:07:11,643 INFO L87 Difference]: Start difference. First operand 722 states and 888 transitions. Second operand has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 14 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:13,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:13,933 INFO L93 Difference]: Finished difference Result 1150 states and 1701 transitions. [2022-02-21 03:07:13,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-21 03:07:13,934 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 14 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-02-21 03:07:13,934 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:13,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 14 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:13,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 98 transitions. [2022-02-21 03:07:13,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 14 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:13,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 98 transitions. [2022-02-21 03:07:13,938 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 98 transitions. [2022-02-21 03:07:14,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:14,077 INFO L225 Difference]: With dead ends: 1150 [2022-02-21 03:07:14,077 INFO L226 Difference]: Without dead ends: 1148 [2022-02-21 03:07:14,078 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=190, Invalid=680, Unknown=0, NotChecked=0, Total=870 [2022-02-21 03:07:14,079 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 147 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 305 mSolverCounterSat, 161 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 147 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 466 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 161 IncrementalHoareTripleChecker+Valid, 305 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:14,080 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [147 Valid, 171 Invalid, 466 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [161 Valid, 305 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-21 03:07:14,080 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1148 states. [2022-02-21 03:07:15,010 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1148 to 976. [2022-02-21 03:07:15,010 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:15,011 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1148 states. Second operand has 976 states, 736 states have (on average 1.1875) internal successors, (874), 768 states have internal predecessors, (874), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:15,012 INFO L74 IsIncluded]: Start isIncluded. First operand 1148 states. Second operand has 976 states, 736 states have (on average 1.1875) internal successors, (874), 768 states have internal predecessors, (874), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:15,013 INFO L87 Difference]: Start difference. First operand 1148 states. Second operand has 976 states, 736 states have (on average 1.1875) internal successors, (874), 768 states have internal predecessors, (874), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:15,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:15,065 INFO L93 Difference]: Finished difference Result 1148 states and 1683 transitions. [2022-02-21 03:07:15,065 INFO L276 IsEmpty]: Start isEmpty. Operand 1148 states and 1683 transitions. [2022-02-21 03:07:15,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:15,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:15,072 INFO L74 IsIncluded]: Start isIncluded. First operand has 976 states, 736 states have (on average 1.1875) internal successors, (874), 768 states have internal predecessors, (874), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) Second operand 1148 states. [2022-02-21 03:07:15,073 INFO L87 Difference]: Start difference. First operand has 976 states, 736 states have (on average 1.1875) internal successors, (874), 768 states have internal predecessors, (874), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) Second operand 1148 states. [2022-02-21 03:07:15,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:15,129 INFO L93 Difference]: Finished difference Result 1148 states and 1683 transitions. [2022-02-21 03:07:15,129 INFO L276 IsEmpty]: Start isEmpty. Operand 1148 states and 1683 transitions. [2022-02-21 03:07:15,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:15,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:15,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:15,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:15,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 976 states, 736 states have (on average 1.1875) internal successors, (874), 768 states have internal predecessors, (874), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:15,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 976 states to 976 states and 1319 transitions. [2022-02-21 03:07:15,188 INFO L78 Accepts]: Start accepts. Automaton has 976 states and 1319 transitions. Word has length 33 [2022-02-21 03:07:15,188 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:15,188 INFO L470 AbstractCegarLoop]: Abstraction has 976 states and 1319 transitions. [2022-02-21 03:07:15,188 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 14 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:15,189 INFO L276 IsEmpty]: Start isEmpty. Operand 976 states and 1319 transitions. [2022-02-21 03:07:15,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-21 03:07:15,189 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:15,190 INFO L514 BasicCegarLoop]: trace histogram [4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:15,209 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-21 03:07:15,409 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:07:15,410 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:15,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:15,410 INFO L85 PathProgramCache]: Analyzing trace with hash -722353775, now seen corresponding path program 1 times [2022-02-21 03:07:15,410 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:15,410 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [974452211] [2022-02-21 03:07:15,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:15,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:15,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:15,450 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:07:15,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:15,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:07:15,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:15,500 INFO L290 TraceCheckUtils]: 0: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:15,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:15,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:15,501 INFO L290 TraceCheckUtils]: 3: Hoare triple {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:15,502 INFO L290 TraceCheckUtils]: 4: Hoare triple {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} assume true; {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:15,502 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} {20826#true} #60#return; {20852#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:15,502 INFO L290 TraceCheckUtils]: 0: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:07:15,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:07:15,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {20826#true} assume 0 == ~n; {20826#true} is VALID [2022-02-21 03:07:15,503 INFO L290 TraceCheckUtils]: 3: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:15,503 INFO L290 TraceCheckUtils]: 4: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:15,510 INFO L272 TraceCheckUtils]: 5: Hoare triple {20826#true} call #t~ret4 := ackermann(~m - 1, 1); {20826#true} is VALID [2022-02-21 03:07:15,510 INFO L290 TraceCheckUtils]: 6: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:15,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:15,511 INFO L290 TraceCheckUtils]: 8: Hoare triple {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:15,511 INFO L290 TraceCheckUtils]: 9: Hoare triple {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:15,511 INFO L290 TraceCheckUtils]: 10: Hoare triple {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} assume true; {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:15,512 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} {20826#true} #60#return; {20852#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:15,512 INFO L290 TraceCheckUtils]: 12: Hoare triple {20852#(<= 2 |ackermann_#t~ret4|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {20853#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:15,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {20853#(<= 2 |ackermann_#res|)} assume true; {20853#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:15,513 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {20853#(<= 2 |ackermann_#res|)} {20826#true} #62#return; {20843#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:15,513 INFO L290 TraceCheckUtils]: 0: Hoare triple {20826#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(16, 2);call #Ultimate.allocInit(12, 3); {20826#true} is VALID [2022-02-21 03:07:15,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {20826#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {20826#true} is VALID [2022-02-21 03:07:15,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {20826#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {20826#true} is VALID [2022-02-21 03:07:15,514 INFO L290 TraceCheckUtils]: 3: Hoare triple {20826#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {20826#true} is VALID [2022-02-21 03:07:15,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {20826#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {20826#true} is VALID [2022-02-21 03:07:15,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:07:15,514 INFO L290 TraceCheckUtils]: 6: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:07:15,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {20826#true} assume !(0 == ~n); {20826#true} is VALID [2022-02-21 03:07:15,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:15,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:15,514 INFO L290 TraceCheckUtils]: 10: Hoare triple {20826#true} assume ~n - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:15,515 INFO L290 TraceCheckUtils]: 11: Hoare triple {20826#true} assume ~n - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:15,515 INFO L272 TraceCheckUtils]: 12: Hoare triple {20826#true} call #t~ret5 := ackermann(~m, ~n - 1); {20826#true} is VALID [2022-02-21 03:07:15,515 INFO L290 TraceCheckUtils]: 13: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:07:15,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:07:15,515 INFO L290 TraceCheckUtils]: 15: Hoare triple {20826#true} assume 0 == ~n; {20826#true} is VALID [2022-02-21 03:07:15,515 INFO L290 TraceCheckUtils]: 16: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:15,515 INFO L290 TraceCheckUtils]: 17: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:15,515 INFO L272 TraceCheckUtils]: 18: Hoare triple {20826#true} call #t~ret4 := ackermann(~m - 1, 1); {20826#true} is VALID [2022-02-21 03:07:15,516 INFO L290 TraceCheckUtils]: 19: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:15,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:15,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:15,517 INFO L290 TraceCheckUtils]: 22: Hoare triple {20854#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:15,517 INFO L290 TraceCheckUtils]: 23: Hoare triple {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} assume true; {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:15,518 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {20855#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} {20826#true} #60#return; {20852#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:15,518 INFO L290 TraceCheckUtils]: 25: Hoare triple {20852#(<= 2 |ackermann_#t~ret4|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {20853#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:15,518 INFO L290 TraceCheckUtils]: 26: Hoare triple {20853#(<= 2 |ackermann_#res|)} assume true; {20853#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:15,519 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20853#(<= 2 |ackermann_#res|)} {20826#true} #62#return; {20843#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:15,519 INFO L290 TraceCheckUtils]: 28: Hoare triple {20843#(<= 2 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {20843#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:15,519 INFO L272 TraceCheckUtils]: 29: Hoare triple {20843#(<= 2 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {20844#(<= 2 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:15,520 INFO L290 TraceCheckUtils]: 30: Hoare triple {20844#(<= 2 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:15,520 INFO L290 TraceCheckUtils]: 31: Hoare triple {20845#(<= 2 ackermann_~n)} assume 0 == ~m; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:15,520 INFO L290 TraceCheckUtils]: 32: Hoare triple {20845#(<= 2 ackermann_~n)} assume 1 + ~n <= 2147483647; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:15,521 INFO L290 TraceCheckUtils]: 33: Hoare triple {20845#(<= 2 ackermann_~n)} assume !(1 + ~n >= -2147483648); {20827#false} is VALID [2022-02-21 03:07:15,521 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:15,521 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:15,521 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [974452211] [2022-02-21 03:07:15,521 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [974452211] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:15,521 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1137734728] [2022-02-21 03:07:15,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:15,521 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:15,522 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:15,523 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:07:15,524 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:07:15,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:15,556 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-21 03:07:15,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:15,564 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:15,673 INFO L290 TraceCheckUtils]: 0: Hoare triple {20826#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(16, 2);call #Ultimate.allocInit(12, 3); {20826#true} is VALID [2022-02-21 03:07:15,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {20826#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {20826#true} is VALID [2022-02-21 03:07:15,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {20826#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {20826#true} is VALID [2022-02-21 03:07:15,674 INFO L290 TraceCheckUtils]: 3: Hoare triple {20826#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {20826#true} is VALID [2022-02-21 03:07:15,674 INFO L272 TraceCheckUtils]: 4: Hoare triple {20826#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {20826#true} is VALID [2022-02-21 03:07:15,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:07:15,674 INFO L290 TraceCheckUtils]: 6: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:07:15,674 INFO L290 TraceCheckUtils]: 7: Hoare triple {20826#true} assume !(0 == ~n); {20826#true} is VALID [2022-02-21 03:07:15,674 INFO L290 TraceCheckUtils]: 8: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L290 TraceCheckUtils]: 10: Hoare triple {20826#true} assume ~n - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L290 TraceCheckUtils]: 11: Hoare triple {20826#true} assume ~n - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L272 TraceCheckUtils]: 12: Hoare triple {20826#true} call #t~ret5 := ackermann(~m, ~n - 1); {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L290 TraceCheckUtils]: 13: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {20826#true} assume 0 == ~n; {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L290 TraceCheckUtils]: 16: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L290 TraceCheckUtils]: 17: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:15,675 INFO L272 TraceCheckUtils]: 18: Hoare triple {20826#true} call #t~ret4 := ackermann(~m - 1, 1); {20826#true} is VALID [2022-02-21 03:07:15,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20916#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:15,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {20916#(<= |ackermann_#in~n| ackermann_~n)} assume 0 == ~m; {20916#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:15,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {20916#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n <= 2147483647; {20916#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:15,677 INFO L290 TraceCheckUtils]: 22: Hoare triple {20916#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {20926#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:15,677 INFO L290 TraceCheckUtils]: 23: Hoare triple {20926#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {20926#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:15,678 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {20926#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {20826#true} #60#return; {20852#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:15,678 INFO L290 TraceCheckUtils]: 25: Hoare triple {20852#(<= 2 |ackermann_#t~ret4|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {20853#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:15,678 INFO L290 TraceCheckUtils]: 26: Hoare triple {20853#(<= 2 |ackermann_#res|)} assume true; {20853#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:15,679 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20853#(<= 2 |ackermann_#res|)} {20826#true} #62#return; {20843#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:15,679 INFO L290 TraceCheckUtils]: 28: Hoare triple {20843#(<= 2 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {20843#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:15,680 INFO L272 TraceCheckUtils]: 29: Hoare triple {20843#(<= 2 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {20844#(<= 2 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:15,680 INFO L290 TraceCheckUtils]: 30: Hoare triple {20844#(<= 2 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:15,680 INFO L290 TraceCheckUtils]: 31: Hoare triple {20845#(<= 2 ackermann_~n)} assume 0 == ~m; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:15,681 INFO L290 TraceCheckUtils]: 32: Hoare triple {20845#(<= 2 ackermann_~n)} assume 1 + ~n <= 2147483647; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:15,681 INFO L290 TraceCheckUtils]: 33: Hoare triple {20845#(<= 2 ackermann_~n)} assume !(1 + ~n >= -2147483648); {20827#false} is VALID [2022-02-21 03:07:15,681 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 7 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:15,681 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:07:16,250 INFO L290 TraceCheckUtils]: 33: Hoare triple {20960#(<= 0 (+ ackermann_~n 2147483649))} assume !(1 + ~n >= -2147483648); {20827#false} is VALID [2022-02-21 03:07:16,251 INFO L290 TraceCheckUtils]: 32: Hoare triple {20960#(<= 0 (+ ackermann_~n 2147483649))} assume 1 + ~n <= 2147483647; {20960#(<= 0 (+ ackermann_~n 2147483649))} is VALID [2022-02-21 03:07:16,251 INFO L290 TraceCheckUtils]: 31: Hoare triple {20960#(<= 0 (+ ackermann_~n 2147483649))} assume 0 == ~m; {20960#(<= 0 (+ ackermann_~n 2147483649))} is VALID [2022-02-21 03:07:16,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {20970#(<= 0 (+ 2147483649 |ackermann_#in~n|))} ~m := #in~m;~n := #in~n; {20960#(<= 0 (+ ackermann_~n 2147483649))} is VALID [2022-02-21 03:07:16,252 INFO L272 TraceCheckUtils]: 29: Hoare triple {20974#(<= 0 (+ 2147483649 |ackermann_#t~ret5|))} call #t~ret6 := ackermann(~m - 1, #t~ret5); {20970#(<= 0 (+ 2147483649 |ackermann_#in~n|))} is VALID [2022-02-21 03:07:16,253 INFO L290 TraceCheckUtils]: 28: Hoare triple {20974#(<= 0 (+ 2147483649 |ackermann_#t~ret5|))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {20974#(<= 0 (+ 2147483649 |ackermann_#t~ret5|))} is VALID [2022-02-21 03:07:16,253 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20984#(<= 0 (+ |ackermann_#res| 2147483649))} {20826#true} #62#return; {20974#(<= 0 (+ 2147483649 |ackermann_#t~ret5|))} is VALID [2022-02-21 03:07:16,254 INFO L290 TraceCheckUtils]: 26: Hoare triple {20984#(<= 0 (+ |ackermann_#res| 2147483649))} assume true; {20984#(<= 0 (+ |ackermann_#res| 2147483649))} is VALID [2022-02-21 03:07:16,254 INFO L290 TraceCheckUtils]: 25: Hoare triple {20991#(<= 0 (+ 2147483649 |ackermann_#t~ret4|))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {20984#(<= 0 (+ |ackermann_#res| 2147483649))} is VALID [2022-02-21 03:07:16,255 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {20998#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ |ackermann_#res| 2147483649)))} {20826#true} #60#return; {20991#(<= 0 (+ 2147483649 |ackermann_#t~ret4|))} is VALID [2022-02-21 03:07:16,255 INFO L290 TraceCheckUtils]: 23: Hoare triple {20998#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ |ackermann_#res| 2147483649)))} assume true; {20998#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ |ackermann_#res| 2147483649)))} is VALID [2022-02-21 03:07:16,256 INFO L290 TraceCheckUtils]: 22: Hoare triple {21005#(or (<= 0 (+ ackermann_~n 2147483650)) (not (<= 1 |ackermann_#in~n|)))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {20998#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ |ackermann_#res| 2147483649)))} is VALID [2022-02-21 03:07:16,256 INFO L290 TraceCheckUtils]: 21: Hoare triple {21005#(or (<= 0 (+ ackermann_~n 2147483650)) (not (<= 1 |ackermann_#in~n|)))} assume 1 + ~n <= 2147483647; {21005#(or (<= 0 (+ ackermann_~n 2147483650)) (not (<= 1 |ackermann_#in~n|)))} is VALID [2022-02-21 03:07:16,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {21005#(or (<= 0 (+ ackermann_~n 2147483650)) (not (<= 1 |ackermann_#in~n|)))} assume 0 == ~m; {21005#(or (<= 0 (+ ackermann_~n 2147483650)) (not (<= 1 |ackermann_#in~n|)))} is VALID [2022-02-21 03:07:16,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {21005#(or (<= 0 (+ ackermann_~n 2147483650)) (not (<= 1 |ackermann_#in~n|)))} is VALID [2022-02-21 03:07:16,257 INFO L272 TraceCheckUtils]: 18: Hoare triple {20826#true} call #t~ret4 := ackermann(~m - 1, 1); {20826#true} is VALID [2022-02-21 03:07:16,257 INFO L290 TraceCheckUtils]: 17: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:16,257 INFO L290 TraceCheckUtils]: 16: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:16,257 INFO L290 TraceCheckUtils]: 15: Hoare triple {20826#true} assume 0 == ~n; {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 14: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 13: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L272 TraceCheckUtils]: 12: Hoare triple {20826#true} call #t~ret5 := ackermann(~m, ~n - 1); {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {20826#true} assume ~n - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 10: Hoare triple {20826#true} assume ~n - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 7: Hoare triple {20826#true} assume !(0 == ~n); {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 6: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 5: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L272 TraceCheckUtils]: 4: Hoare triple {20826#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 3: Hoare triple {20826#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {20826#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {20826#true} is VALID [2022-02-21 03:07:16,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {20826#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {20826#true} is VALID [2022-02-21 03:07:16,259 INFO L290 TraceCheckUtils]: 0: Hoare triple {20826#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(16, 2);call #Ultimate.allocInit(12, 3); {20826#true} is VALID [2022-02-21 03:07:16,259 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:16,259 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1137734728] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:16,259 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-21 03:07:16,259 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [8, 8] total 17 [2022-02-21 03:07:16,259 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [236385998] [2022-02-21 03:07:16,259 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:07:16,260 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 34 [2022-02-21 03:07:16,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:16,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:16,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:16,281 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-21 03:07:16,281 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:16,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-21 03:07:16,282 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=258, Unknown=0, NotChecked=0, Total=306 [2022-02-21 03:07:16,282 INFO L87 Difference]: Start difference. First operand 976 states and 1319 transitions. Second operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:18,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:18,039 INFO L93 Difference]: Finished difference Result 1019 states and 1361 transitions. [2022-02-21 03:07:18,039 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-21 03:07:18,039 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 34 [2022-02-21 03:07:18,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:18,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:18,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 60 transitions. [2022-02-21 03:07:18,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:18,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 60 transitions. [2022-02-21 03:07:18,042 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 60 transitions. [2022-02-21 03:07:18,079 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:07:18,120 INFO L225 Difference]: With dead ends: 1019 [2022-02-21 03:07:18,120 INFO L226 Difference]: Without dead ends: 1018 [2022-02-21 03:07:18,121 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=94, Invalid=506, Unknown=0, NotChecked=0, Total=600 [2022-02-21 03:07:18,122 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 62 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 151 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 151 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:18,122 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [64 Valid, 141 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 151 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-21 03:07:18,123 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1018 states. [2022-02-21 03:07:19,271 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1018 to 975. [2022-02-21 03:07:19,271 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:19,272 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1018 states. Second operand has 975 states, 736 states have (on average 1.1766304347826086) internal successors, (866), 767 states have internal predecessors, (866), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:19,273 INFO L74 IsIncluded]: Start isIncluded. First operand 1018 states. Second operand has 975 states, 736 states have (on average 1.1766304347826086) internal successors, (866), 767 states have internal predecessors, (866), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:19,274 INFO L87 Difference]: Start difference. First operand 1018 states. Second operand has 975 states, 736 states have (on average 1.1766304347826086) internal successors, (866), 767 states have internal predecessors, (866), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:19,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:19,312 INFO L93 Difference]: Finished difference Result 1018 states and 1353 transitions. [2022-02-21 03:07:19,312 INFO L276 IsEmpty]: Start isEmpty. Operand 1018 states and 1353 transitions. [2022-02-21 03:07:19,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:19,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:19,317 INFO L74 IsIncluded]: Start isIncluded. First operand has 975 states, 736 states have (on average 1.1766304347826086) internal successors, (866), 767 states have internal predecessors, (866), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) Second operand 1018 states. [2022-02-21 03:07:19,318 INFO L87 Difference]: Start difference. First operand has 975 states, 736 states have (on average 1.1766304347826086) internal successors, (866), 767 states have internal predecessors, (866), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) Second operand 1018 states. [2022-02-21 03:07:19,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:19,382 INFO L93 Difference]: Finished difference Result 1018 states and 1353 transitions. [2022-02-21 03:07:19,383 INFO L276 IsEmpty]: Start isEmpty. Operand 1018 states and 1353 transitions. [2022-02-21 03:07:19,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:19,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:19,390 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:19,390 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:19,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 975 states, 736 states have (on average 1.1766304347826086) internal successors, (866), 767 states have internal predecessors, (866), 151 states have call successors, (151), 54 states have call predecessors, (151), 83 states have return successors, (294), 153 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:19,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 975 states to 975 states and 1311 transitions. [2022-02-21 03:07:19,457 INFO L78 Accepts]: Start accepts. Automaton has 975 states and 1311 transitions. Word has length 34 [2022-02-21 03:07:19,457 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:19,457 INFO L470 AbstractCegarLoop]: Abstraction has 975 states and 1311 transitions. [2022-02-21 03:07:19,458 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:19,458 INFO L276 IsEmpty]: Start isEmpty. Operand 975 states and 1311 transitions. [2022-02-21 03:07:19,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-21 03:07:19,461 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:19,461 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:19,489 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-21 03:07:19,686 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:07:19,687 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ackermannErr7ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:19,687 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:19,687 INFO L85 PathProgramCache]: Analyzing trace with hash -1227703372, now seen corresponding path program 2 times [2022-02-21 03:07:19,687 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:19,687 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [148110840] [2022-02-21 03:07:19,688 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:19,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:19,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:19,764 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:07:19,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:19,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {25536#true} ~m := #in~m;~n := #in~n; {25550#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:19,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {25550#(= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {25550#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:19,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {25550#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {25550#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:19,794 INFO L290 TraceCheckUtils]: 3: Hoare triple {25550#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:19,795 INFO L290 TraceCheckUtils]: 4: Hoare triple {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:19,796 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {25540#(<= 0 ackermann_~n)} #62#return; {25547#(<= 0 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:19,796 INFO L290 TraceCheckUtils]: 0: Hoare triple {25536#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(16, 2);call #Ultimate.allocInit(12, 3); {25536#true} is VALID [2022-02-21 03:07:19,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {25536#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {25536#true} is VALID [2022-02-21 03:07:19,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {25536#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {25536#true} is VALID [2022-02-21 03:07:19,796 INFO L290 TraceCheckUtils]: 3: Hoare triple {25536#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {25538#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:07:19,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {25538#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {25539#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:19,797 INFO L290 TraceCheckUtils]: 5: Hoare triple {25539#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,797 INFO L290 TraceCheckUtils]: 6: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~m); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~n); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,799 INFO L290 TraceCheckUtils]: 10: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,799 INFO L290 TraceCheckUtils]: 11: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,800 INFO L272 TraceCheckUtils]: 12: Hoare triple {25540#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {25536#true} is VALID [2022-02-21 03:07:19,800 INFO L290 TraceCheckUtils]: 13: Hoare triple {25536#true} ~m := #in~m;~n := #in~n; {25550#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:19,800 INFO L290 TraceCheckUtils]: 14: Hoare triple {25550#(= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {25550#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:19,801 INFO L290 TraceCheckUtils]: 15: Hoare triple {25550#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {25550#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:19,801 INFO L290 TraceCheckUtils]: 16: Hoare triple {25550#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:19,801 INFO L290 TraceCheckUtils]: 17: Hoare triple {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:19,802 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {25540#(<= 0 ackermann_~n)} #62#return; {25547#(<= 0 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:19,802 INFO L290 TraceCheckUtils]: 19: Hoare triple {25547#(<= 0 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {25547#(<= 0 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:19,803 INFO L272 TraceCheckUtils]: 20: Hoare triple {25547#(<= 0 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {25539#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:19,803 INFO L290 TraceCheckUtils]: 21: Hoare triple {25539#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,803 INFO L290 TraceCheckUtils]: 22: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~m); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,804 INFO L290 TraceCheckUtils]: 23: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~n); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,804 INFO L290 TraceCheckUtils]: 24: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,805 INFO L290 TraceCheckUtils]: 26: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:19,805 INFO L272 TraceCheckUtils]: 28: Hoare triple {25540#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {25548#(<= 0 (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:19,806 INFO L290 TraceCheckUtils]: 29: Hoare triple {25548#(<= 0 (+ |ackermann_#in~n| 1))} ~m := #in~m;~n := #in~n; {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:19,806 INFO L290 TraceCheckUtils]: 30: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~m); {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:19,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~n); {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:19,807 INFO L290 TraceCheckUtils]: 32: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 <= 2147483647; {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:19,807 INFO L290 TraceCheckUtils]: 33: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 >= -2147483648; {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:19,807 INFO L290 TraceCheckUtils]: 34: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume ~n - 1 <= 2147483647; {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:19,808 INFO L290 TraceCheckUtils]: 35: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume !(~n - 1 >= -2147483648); {25537#false} is VALID [2022-02-21 03:07:19,808 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 2 proven. 18 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-21 03:07:19,808 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:19,808 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [148110840] [2022-02-21 03:07:19,808 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [148110840] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:19,808 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1016951491] [2022-02-21 03:07:19,809 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 03:07:19,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:19,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:19,849 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:07:19,850 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:07:19,896 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 03:07:19,896 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 03:07:19,897 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-21 03:07:19,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:19,910 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:20,116 INFO L290 TraceCheckUtils]: 0: Hoare triple {25536#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(16, 2);call #Ultimate.allocInit(12, 3); {25536#true} is VALID [2022-02-21 03:07:20,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {25536#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {25536#true} is VALID [2022-02-21 03:07:20,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {25536#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {25536#true} is VALID [2022-02-21 03:07:20,117 INFO L290 TraceCheckUtils]: 3: Hoare triple {25536#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {25538#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:07:20,117 INFO L272 TraceCheckUtils]: 4: Hoare triple {25538#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {25539#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:20,118 INFO L290 TraceCheckUtils]: 5: Hoare triple {25539#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,118 INFO L290 TraceCheckUtils]: 6: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~m); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,118 INFO L290 TraceCheckUtils]: 7: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~n); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,118 INFO L290 TraceCheckUtils]: 8: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,119 INFO L290 TraceCheckUtils]: 10: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,119 INFO L272 TraceCheckUtils]: 12: Hoare triple {25540#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {25536#true} is VALID [2022-02-21 03:07:20,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {25536#true} ~m := #in~m;~n := #in~n; {25594#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:20,120 INFO L290 TraceCheckUtils]: 14: Hoare triple {25594#(<= |ackermann_#in~n| ackermann_~n)} assume 0 == ~m; {25594#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:20,123 INFO L290 TraceCheckUtils]: 15: Hoare triple {25594#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n <= 2147483647; {25594#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:20,124 INFO L290 TraceCheckUtils]: 16: Hoare triple {25594#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:20,124 INFO L290 TraceCheckUtils]: 17: Hoare triple {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:20,125 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {25551#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {25540#(<= 0 ackermann_~n)} #62#return; {25547#(<= 0 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:20,125 INFO L290 TraceCheckUtils]: 19: Hoare triple {25547#(<= 0 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {25547#(<= 0 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:20,126 INFO L272 TraceCheckUtils]: 20: Hoare triple {25547#(<= 0 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {25539#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:20,126 INFO L290 TraceCheckUtils]: 21: Hoare triple {25539#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,126 INFO L290 TraceCheckUtils]: 22: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~m); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,126 INFO L290 TraceCheckUtils]: 23: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~n); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,127 INFO L290 TraceCheckUtils]: 24: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,127 INFO L290 TraceCheckUtils]: 25: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,127 INFO L290 TraceCheckUtils]: 26: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,128 INFO L290 TraceCheckUtils]: 27: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:20,128 INFO L272 TraceCheckUtils]: 28: Hoare triple {25540#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {25548#(<= 0 (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:20,129 INFO L290 TraceCheckUtils]: 29: Hoare triple {25548#(<= 0 (+ |ackermann_#in~n| 1))} ~m := #in~m;~n := #in~n; {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:20,129 INFO L290 TraceCheckUtils]: 30: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~m); {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:20,129 INFO L290 TraceCheckUtils]: 31: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~n); {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:20,129 INFO L290 TraceCheckUtils]: 32: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 <= 2147483647; {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:20,130 INFO L290 TraceCheckUtils]: 33: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 >= -2147483648; {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:20,130 INFO L290 TraceCheckUtils]: 34: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume ~n - 1 <= 2147483647; {25549#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:20,130 INFO L290 TraceCheckUtils]: 35: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume !(~n - 1 >= -2147483648); {25537#false} is VALID [2022-02-21 03:07:20,131 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 2 proven. 18 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-21 03:07:20,131 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:07:20,574 INFO L290 TraceCheckUtils]: 35: Hoare triple {25661#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {25537#false} is VALID [2022-02-21 03:07:20,574 INFO L290 TraceCheckUtils]: 34: Hoare triple {25661#(<= 0 (+ ackermann_~n 2147483647))} assume ~n - 1 <= 2147483647; {25661#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:20,575 INFO L290 TraceCheckUtils]: 33: Hoare triple {25661#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 >= -2147483648; {25661#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:20,575 INFO L290 TraceCheckUtils]: 32: Hoare triple {25661#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 <= 2147483647; {25661#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:20,575 INFO L290 TraceCheckUtils]: 31: Hoare triple {25661#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~n); {25661#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:20,576 INFO L290 TraceCheckUtils]: 30: Hoare triple {25661#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~m); {25661#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:20,576 INFO L290 TraceCheckUtils]: 29: Hoare triple {25680#(<= 0 (+ |ackermann_#in~n| 2147483647))} ~m := #in~m;~n := #in~n; {25661#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:20,577 INFO L272 TraceCheckUtils]: 28: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} call #t~ret5 := ackermann(~m, ~n - 1); {25680#(<= 0 (+ |ackermann_#in~n| 2147483647))} is VALID [2022-02-21 03:07:20,577 INFO L290 TraceCheckUtils]: 27: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 >= -2147483648; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 <= 2147483647; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 >= -2147483648; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 <= 2147483647; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,578 INFO L290 TraceCheckUtils]: 23: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~n); {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,578 INFO L290 TraceCheckUtils]: 22: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~m); {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,579 INFO L290 TraceCheckUtils]: 21: Hoare triple {25706#(<= 0 (+ |ackermann_#in~n| 2147483646))} ~m := #in~m;~n := #in~n; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,579 INFO L272 TraceCheckUtils]: 20: Hoare triple {25710#(<= 0 (+ |ackermann_#t~ret5| 2147483646))} call #t~ret6 := ackermann(~m - 1, #t~ret5); {25706#(<= 0 (+ |ackermann_#in~n| 2147483646))} is VALID [2022-02-21 03:07:20,580 INFO L290 TraceCheckUtils]: 19: Hoare triple {25710#(<= 0 (+ |ackermann_#t~ret5| 2147483646))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {25710#(<= 0 (+ |ackermann_#t~ret5| 2147483646))} is VALID [2022-02-21 03:07:20,581 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {25720#(or (<= 0 (+ |ackermann_#res| 2147483646)) (< (+ |ackermann_#in~n| 2147483647) 0))} {25684#(<= 0 (+ ackermann_~n 2147483646))} #62#return; {25710#(<= 0 (+ |ackermann_#t~ret5| 2147483646))} is VALID [2022-02-21 03:07:20,581 INFO L290 TraceCheckUtils]: 17: Hoare triple {25720#(or (<= 0 (+ |ackermann_#res| 2147483646)) (< (+ |ackermann_#in~n| 2147483647) 0))} assume true; {25720#(or (<= 0 (+ |ackermann_#res| 2147483646)) (< (+ |ackermann_#in~n| 2147483647) 0))} is VALID [2022-02-21 03:07:20,582 INFO L290 TraceCheckUtils]: 16: Hoare triple {25727#(or (< (+ |ackermann_#in~n| 2147483647) 0) (<= 0 (+ ackermann_~n 2147483647)))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {25720#(or (<= 0 (+ |ackermann_#res| 2147483646)) (< (+ |ackermann_#in~n| 2147483647) 0))} is VALID [2022-02-21 03:07:20,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {25727#(or (< (+ |ackermann_#in~n| 2147483647) 0) (<= 0 (+ ackermann_~n 2147483647)))} assume 1 + ~n <= 2147483647; {25727#(or (< (+ |ackermann_#in~n| 2147483647) 0) (<= 0 (+ ackermann_~n 2147483647)))} is VALID [2022-02-21 03:07:20,583 INFO L290 TraceCheckUtils]: 14: Hoare triple {25727#(or (< (+ |ackermann_#in~n| 2147483647) 0) (<= 0 (+ ackermann_~n 2147483647)))} assume 0 == ~m; {25727#(or (< (+ |ackermann_#in~n| 2147483647) 0) (<= 0 (+ ackermann_~n 2147483647)))} is VALID [2022-02-21 03:07:20,583 INFO L290 TraceCheckUtils]: 13: Hoare triple {25536#true} ~m := #in~m;~n := #in~n; {25727#(or (< (+ |ackermann_#in~n| 2147483647) 0) (<= 0 (+ ackermann_~n 2147483647)))} is VALID [2022-02-21 03:07:20,583 INFO L272 TraceCheckUtils]: 12: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} call #t~ret5 := ackermann(~m, ~n - 1); {25536#true} is VALID [2022-02-21 03:07:20,584 INFO L290 TraceCheckUtils]: 11: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 >= -2147483648; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,584 INFO L290 TraceCheckUtils]: 10: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 <= 2147483647; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 >= -2147483648; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,585 INFO L290 TraceCheckUtils]: 8: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 <= 2147483647; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~n); {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,585 INFO L290 TraceCheckUtils]: 6: Hoare triple {25684#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~m); {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {25706#(<= 0 (+ |ackermann_#in~n| 2147483646))} ~m := #in~m;~n := #in~n; {25684#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:20,593 INFO L272 TraceCheckUtils]: 4: Hoare triple {25761#(<= 0 (+ |ULTIMATE.start_main_~n~0#1| 2147483646))} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {25706#(<= 0 (+ |ackermann_#in~n| 2147483646))} is VALID [2022-02-21 03:07:20,593 INFO L290 TraceCheckUtils]: 3: Hoare triple {25536#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {25761#(<= 0 (+ |ULTIMATE.start_main_~n~0#1| 2147483646))} is VALID [2022-02-21 03:07:20,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {25536#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {25536#true} is VALID [2022-02-21 03:07:20,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {25536#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {25536#true} is VALID [2022-02-21 03:07:20,594 INFO L290 TraceCheckUtils]: 0: Hoare triple {25536#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(16, 2);call #Ultimate.allocInit(12, 3); {25536#true} is VALID [2022-02-21 03:07:20,594 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 4 proven. 16 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-21 03:07:20,594 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1016951491] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:07:20,594 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:07:20,594 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 18 [2022-02-21 03:07:20,594 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1719768186] [2022-02-21 03:07:20,594 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:07:20,595 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 3.0625) internal successors, (49), 15 states have internal predecessors, (49), 6 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 36 [2022-02-21 03:07:20,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:20,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 16 states have (on average 3.0625) internal successors, (49), 15 states have internal predecessors, (49), 6 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-21 03:07:20,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:20,645 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-21 03:07:20,645 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:20,645 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-21 03:07:20,645 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=285, Unknown=0, NotChecked=0, Total=342 [2022-02-21 03:07:20,646 INFO L87 Difference]: Start difference. First operand 975 states and 1311 transitions. Second operand has 19 states, 16 states have (on average 3.0625) internal successors, (49), 15 states have internal predecessors, (49), 6 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-21 03:07:22,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:22,994 INFO L93 Difference]: Finished difference Result 1182 states and 1575 transitions. [2022-02-21 03:07:22,994 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-02-21 03:07:22,994 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 3.0625) internal successors, (49), 15 states have internal predecessors, (49), 6 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 36 [2022-02-21 03:07:22,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:22,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 3.0625) internal successors, (49), 15 states have internal predecessors, (49), 6 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-21 03:07:22,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 108 transitions. [2022-02-21 03:07:22,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 3.0625) internal successors, (49), 15 states have internal predecessors, (49), 6 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-21 03:07:22,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 108 transitions. [2022-02-21 03:07:22,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 108 transitions. [2022-02-21 03:07:23,065 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:23,121 INFO L225 Difference]: With dead ends: 1182 [2022-02-21 03:07:23,121 INFO L226 Difference]: Without dead ends: 1181 [2022-02-21 03:07:23,122 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 65 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 142 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=238, Invalid=754, Unknown=0, NotChecked=0, Total=992 [2022-02-21 03:07:23,122 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 323 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 131 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 323 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 391 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 131 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:23,123 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [323 Valid, 173 Invalid, 391 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [131 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-21 03:07:23,123 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1181 states. [2022-02-21 03:07:24,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1181 to 1029. [2022-02-21 03:07:24,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:24,293 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1181 states. Second operand has 1029 states, 779 states have (on average 1.177150192554557) internal successors, (917), 806 states have internal predecessors, (917), 162 states have call successors, (162), 61 states have call predecessors, (162), 83 states have return successors, (294), 161 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:24,294 INFO L74 IsIncluded]: Start isIncluded. First operand 1181 states. Second operand has 1029 states, 779 states have (on average 1.177150192554557) internal successors, (917), 806 states have internal predecessors, (917), 162 states have call successors, (162), 61 states have call predecessors, (162), 83 states have return successors, (294), 161 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:24,295 INFO L87 Difference]: Start difference. First operand 1181 states. Second operand has 1029 states, 779 states have (on average 1.177150192554557) internal successors, (917), 806 states have internal predecessors, (917), 162 states have call successors, (162), 61 states have call predecessors, (162), 83 states have return successors, (294), 161 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:24,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:24,357 INFO L93 Difference]: Finished difference Result 1181 states and 1566 transitions. [2022-02-21 03:07:24,357 INFO L276 IsEmpty]: Start isEmpty. Operand 1181 states and 1566 transitions. [2022-02-21 03:07:24,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:24,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:24,364 INFO L74 IsIncluded]: Start isIncluded. First operand has 1029 states, 779 states have (on average 1.177150192554557) internal successors, (917), 806 states have internal predecessors, (917), 162 states have call successors, (162), 61 states have call predecessors, (162), 83 states have return successors, (294), 161 states have call predecessors, (294), 126 states have call successors, (294) Second operand 1181 states. [2022-02-21 03:07:24,366 INFO L87 Difference]: Start difference. First operand has 1029 states, 779 states have (on average 1.177150192554557) internal successors, (917), 806 states have internal predecessors, (917), 162 states have call successors, (162), 61 states have call predecessors, (162), 83 states have return successors, (294), 161 states have call predecessors, (294), 126 states have call successors, (294) Second operand 1181 states. [2022-02-21 03:07:24,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:24,462 INFO L93 Difference]: Finished difference Result 1181 states and 1566 transitions. [2022-02-21 03:07:24,462 INFO L276 IsEmpty]: Start isEmpty. Operand 1181 states and 1566 transitions. [2022-02-21 03:07:24,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:24,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:24,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:24,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:24,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1029 states, 779 states have (on average 1.177150192554557) internal successors, (917), 806 states have internal predecessors, (917), 162 states have call successors, (162), 61 states have call predecessors, (162), 83 states have return successors, (294), 161 states have call predecessors, (294), 126 states have call successors, (294) [2022-02-21 03:07:24,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1029 states to 1029 states and 1373 transitions. [2022-02-21 03:07:24,528 INFO L78 Accepts]: Start accepts. Automaton has 1029 states and 1373 transitions. Word has length 36 [2022-02-21 03:07:24,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:24,528 INFO L470 AbstractCegarLoop]: Abstraction has 1029 states and 1373 transitions. [2022-02-21 03:07:24,528 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 16 states have (on average 3.0625) internal successors, (49), 15 states have internal predecessors, (49), 6 states have call successors, (8), 5 states have call predecessors, (8), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-21 03:07:24,528 INFO L276 IsEmpty]: Start isEmpty. Operand 1029 states and 1373 transitions. [2022-02-21 03:07:24,529 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-21 03:07:24,529 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:24,529 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:24,557 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:07:24,735 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:07:24,735 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ackermannErr7ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:24,736 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:24,736 INFO L85 PathProgramCache]: Analyzing trace with hash -1699542727, now seen corresponding path program 1 times [2022-02-21 03:07:24,736 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:24,736 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1132168197] [2022-02-21 03:07:24,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:24,736 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:24,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:24,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:07:24,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:24,796 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:07:24,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:24,818 INFO L290 TraceCheckUtils]: 0: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:24,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:24,819 INFO L290 TraceCheckUtils]: 2: Hoare triple {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:24,819 INFO L290 TraceCheckUtils]: 3: Hoare triple {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:24,819 INFO L290 TraceCheckUtils]: 4: Hoare triple {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} assume true; {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:24,820 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} {30840#true} #60#return; {30866#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:24,820 INFO L290 TraceCheckUtils]: 0: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:07:24,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:07:24,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {30840#true} assume 0 == ~n; {30840#true} is VALID [2022-02-21 03:07:24,820 INFO L290 TraceCheckUtils]: 3: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:24,821 INFO L290 TraceCheckUtils]: 4: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:24,821 INFO L272 TraceCheckUtils]: 5: Hoare triple {30840#true} call #t~ret4 := ackermann(~m - 1, 1); {30840#true} is VALID [2022-02-21 03:07:24,821 INFO L290 TraceCheckUtils]: 6: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:24,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:24,822 INFO L290 TraceCheckUtils]: 8: Hoare triple {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:24,822 INFO L290 TraceCheckUtils]: 9: Hoare triple {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:24,822 INFO L290 TraceCheckUtils]: 10: Hoare triple {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} assume true; {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:24,823 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} {30840#true} #60#return; {30866#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:24,823 INFO L290 TraceCheckUtils]: 12: Hoare triple {30866#(<= 2 |ackermann_#t~ret4|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {30867#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:24,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {30867#(<= 2 |ackermann_#res|)} assume true; {30867#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:24,824 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {30867#(<= 2 |ackermann_#res|)} {30840#true} #62#return; {30857#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:24,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {30840#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(16, 2);call #Ultimate.allocInit(12, 3); {30840#true} is VALID [2022-02-21 03:07:24,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {30840#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {30840#true} is VALID [2022-02-21 03:07:24,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {30840#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {30840#true} is VALID [2022-02-21 03:07:24,824 INFO L290 TraceCheckUtils]: 3: Hoare triple {30840#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {30840#true} is VALID [2022-02-21 03:07:24,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {30840#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {30840#true} is VALID [2022-02-21 03:07:24,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:07:24,825 INFO L290 TraceCheckUtils]: 6: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:07:24,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {30840#true} assume !(0 == ~n); {30840#true} is VALID [2022-02-21 03:07:24,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:24,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:24,825 INFO L290 TraceCheckUtils]: 10: Hoare triple {30840#true} assume ~n - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:24,825 INFO L290 TraceCheckUtils]: 11: Hoare triple {30840#true} assume ~n - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:24,826 INFO L272 TraceCheckUtils]: 12: Hoare triple {30840#true} call #t~ret5 := ackermann(~m, ~n - 1); {30840#true} is VALID [2022-02-21 03:07:24,826 INFO L290 TraceCheckUtils]: 13: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:07:24,826 INFO L290 TraceCheckUtils]: 14: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:07:24,826 INFO L290 TraceCheckUtils]: 15: Hoare triple {30840#true} assume 0 == ~n; {30840#true} is VALID [2022-02-21 03:07:24,826 INFO L290 TraceCheckUtils]: 16: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:24,826 INFO L290 TraceCheckUtils]: 17: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:24,826 INFO L272 TraceCheckUtils]: 18: Hoare triple {30840#true} call #t~ret4 := ackermann(~m - 1, 1); {30840#true} is VALID [2022-02-21 03:07:24,827 INFO L290 TraceCheckUtils]: 19: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:24,827 INFO L290 TraceCheckUtils]: 20: Hoare triple {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:24,827 INFO L290 TraceCheckUtils]: 21: Hoare triple {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:24,828 INFO L290 TraceCheckUtils]: 22: Hoare triple {30868#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:24,828 INFO L290 TraceCheckUtils]: 23: Hoare triple {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} assume true; {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:24,828 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {30869#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} {30840#true} #60#return; {30866#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:24,829 INFO L290 TraceCheckUtils]: 25: Hoare triple {30866#(<= 2 |ackermann_#t~ret4|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {30867#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:24,829 INFO L290 TraceCheckUtils]: 26: Hoare triple {30867#(<= 2 |ackermann_#res|)} assume true; {30867#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:24,829 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {30867#(<= 2 |ackermann_#res|)} {30840#true} #62#return; {30857#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:24,830 INFO L290 TraceCheckUtils]: 28: Hoare triple {30857#(<= 2 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {30857#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:24,830 INFO L272 TraceCheckUtils]: 29: Hoare triple {30857#(<= 2 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {30858#(<= 2 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:24,830 INFO L290 TraceCheckUtils]: 30: Hoare triple {30858#(<= 2 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:24,831 INFO L290 TraceCheckUtils]: 31: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(0 == ~m); {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:24,831 INFO L290 TraceCheckUtils]: 32: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(0 == ~n); {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:24,831 INFO L290 TraceCheckUtils]: 33: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~m - 1 <= 2147483647; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:24,832 INFO L290 TraceCheckUtils]: 34: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~m - 1 >= -2147483648; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:24,832 INFO L290 TraceCheckUtils]: 35: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~n - 1 <= 2147483647; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:24,832 INFO L290 TraceCheckUtils]: 36: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(~n - 1 >= -2147483648); {30841#false} is VALID [2022-02-21 03:07:24,832 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 15 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:24,833 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:24,833 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1132168197] [2022-02-21 03:07:24,833 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1132168197] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:24,833 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1570945517] [2022-02-21 03:07:24,833 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:24,833 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:24,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:24,834 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:07:24,835 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:07:24,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:24,869 INFO L263 TraceCheckSpWp]: Trace formula consists of 110 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-21 03:07:24,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:24,875 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:24,994 INFO L290 TraceCheckUtils]: 0: Hoare triple {30840#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(16, 2);call #Ultimate.allocInit(12, 3); {30840#true} is VALID [2022-02-21 03:07:24,994 INFO L290 TraceCheckUtils]: 1: Hoare triple {30840#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {30840#true} is VALID [2022-02-21 03:07:24,994 INFO L290 TraceCheckUtils]: 2: Hoare triple {30840#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {30840#true} is VALID [2022-02-21 03:07:24,994 INFO L290 TraceCheckUtils]: 3: Hoare triple {30840#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {30840#true} is VALID [2022-02-21 03:07:24,994 INFO L272 TraceCheckUtils]: 4: Hoare triple {30840#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {30840#true} is VALID [2022-02-21 03:07:24,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:07:24,995 INFO L290 TraceCheckUtils]: 6: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:07:24,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {30840#true} assume !(0 == ~n); {30840#true} is VALID [2022-02-21 03:07:24,995 INFO L290 TraceCheckUtils]: 8: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:24,995 INFO L290 TraceCheckUtils]: 9: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:24,995 INFO L290 TraceCheckUtils]: 10: Hoare triple {30840#true} assume ~n - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:24,996 INFO L290 TraceCheckUtils]: 11: Hoare triple {30840#true} assume ~n - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:24,996 INFO L272 TraceCheckUtils]: 12: Hoare triple {30840#true} call #t~ret5 := ackermann(~m, ~n - 1); {30840#true} is VALID [2022-02-21 03:07:24,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:07:24,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:07:24,996 INFO L290 TraceCheckUtils]: 15: Hoare triple {30840#true} assume 0 == ~n; {30840#true} is VALID [2022-02-21 03:07:24,996 INFO L290 TraceCheckUtils]: 16: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:24,996 INFO L290 TraceCheckUtils]: 17: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:24,996 INFO L272 TraceCheckUtils]: 18: Hoare triple {30840#true} call #t~ret4 := ackermann(~m - 1, 1); {30840#true} is VALID [2022-02-21 03:07:24,997 INFO L290 TraceCheckUtils]: 19: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30930#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:24,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {30930#(<= |ackermann_#in~n| ackermann_~n)} assume 0 == ~m; {30930#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:24,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {30930#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n <= 2147483647; {30930#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:24,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {30930#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {30940#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:24,998 INFO L290 TraceCheckUtils]: 23: Hoare triple {30940#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {30940#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:24,999 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {30940#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {30840#true} #60#return; {30866#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:24,999 INFO L290 TraceCheckUtils]: 25: Hoare triple {30866#(<= 2 |ackermann_#t~ret4|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {30867#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:25,000 INFO L290 TraceCheckUtils]: 26: Hoare triple {30867#(<= 2 |ackermann_#res|)} assume true; {30867#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:25,000 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {30867#(<= 2 |ackermann_#res|)} {30840#true} #62#return; {30857#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:25,001 INFO L290 TraceCheckUtils]: 28: Hoare triple {30857#(<= 2 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {30857#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:25,001 INFO L272 TraceCheckUtils]: 29: Hoare triple {30857#(<= 2 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {30858#(<= 2 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:25,001 INFO L290 TraceCheckUtils]: 30: Hoare triple {30858#(<= 2 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:25,002 INFO L290 TraceCheckUtils]: 31: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(0 == ~m); {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:25,002 INFO L290 TraceCheckUtils]: 32: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(0 == ~n); {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:25,002 INFO L290 TraceCheckUtils]: 33: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~m - 1 <= 2147483647; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:25,002 INFO L290 TraceCheckUtils]: 34: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~m - 1 >= -2147483648; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:25,003 INFO L290 TraceCheckUtils]: 35: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~n - 1 <= 2147483647; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:25,003 INFO L290 TraceCheckUtils]: 36: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(~n - 1 >= -2147483648); {30841#false} is VALID [2022-02-21 03:07:25,003 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:25,003 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:07:25,574 INFO L290 TraceCheckUtils]: 36: Hoare triple {30983#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {30841#false} is VALID [2022-02-21 03:07:25,575 INFO L290 TraceCheckUtils]: 35: Hoare triple {30983#(<= 0 (+ ackermann_~n 2147483647))} assume ~n - 1 <= 2147483647; {30983#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:25,575 INFO L290 TraceCheckUtils]: 34: Hoare triple {30983#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 >= -2147483648; {30983#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:25,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {30983#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 <= 2147483647; {30983#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:25,576 INFO L290 TraceCheckUtils]: 32: Hoare triple {30983#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~n); {30983#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:25,576 INFO L290 TraceCheckUtils]: 31: Hoare triple {30983#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~m); {30983#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:25,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {31002#(<= 0 (+ |ackermann_#in~n| 2147483647))} ~m := #in~m;~n := #in~n; {30983#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:25,577 INFO L272 TraceCheckUtils]: 29: Hoare triple {31006#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} call #t~ret6 := ackermann(~m - 1, #t~ret5); {31002#(<= 0 (+ |ackermann_#in~n| 2147483647))} is VALID [2022-02-21 03:07:25,578 INFO L290 TraceCheckUtils]: 28: Hoare triple {31006#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {31006#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} is VALID [2022-02-21 03:07:25,578 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31016#(<= 0 (+ |ackermann_#res| 2147483647))} {30840#true} #62#return; {31006#(<= 0 (+ |ackermann_#t~ret5| 2147483647))} is VALID [2022-02-21 03:07:25,579 INFO L290 TraceCheckUtils]: 26: Hoare triple {31016#(<= 0 (+ |ackermann_#res| 2147483647))} assume true; {31016#(<= 0 (+ |ackermann_#res| 2147483647))} is VALID [2022-02-21 03:07:25,579 INFO L290 TraceCheckUtils]: 25: Hoare triple {31023#(<= 0 (+ |ackermann_#t~ret4| 2147483647))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {31016#(<= 0 (+ |ackermann_#res| 2147483647))} is VALID [2022-02-21 03:07:25,598 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {31030#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ |ackermann_#res| 2147483647)))} {30840#true} #60#return; {31023#(<= 0 (+ |ackermann_#t~ret4| 2147483647))} is VALID [2022-02-21 03:07:25,598 INFO L290 TraceCheckUtils]: 23: Hoare triple {31030#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ |ackermann_#res| 2147483647)))} assume true; {31030#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ |ackermann_#res| 2147483647)))} is VALID [2022-02-21 03:07:25,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {31037#(or (<= 0 (+ ackermann_~n 2147483648)) (not (<= 1 |ackermann_#in~n|)))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {31030#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ |ackermann_#res| 2147483647)))} is VALID [2022-02-21 03:07:25,600 INFO L290 TraceCheckUtils]: 21: Hoare triple {31037#(or (<= 0 (+ ackermann_~n 2147483648)) (not (<= 1 |ackermann_#in~n|)))} assume 1 + ~n <= 2147483647; {31037#(or (<= 0 (+ ackermann_~n 2147483648)) (not (<= 1 |ackermann_#in~n|)))} is VALID [2022-02-21 03:07:25,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {31037#(or (<= 0 (+ ackermann_~n 2147483648)) (not (<= 1 |ackermann_#in~n|)))} assume 0 == ~m; {31037#(or (<= 0 (+ ackermann_~n 2147483648)) (not (<= 1 |ackermann_#in~n|)))} is VALID [2022-02-21 03:07:25,601 INFO L290 TraceCheckUtils]: 19: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {31037#(or (<= 0 (+ ackermann_~n 2147483648)) (not (<= 1 |ackermann_#in~n|)))} is VALID [2022-02-21 03:07:25,601 INFO L272 TraceCheckUtils]: 18: Hoare triple {30840#true} call #t~ret4 := ackermann(~m - 1, 1); {30840#true} is VALID [2022-02-21 03:07:25,601 INFO L290 TraceCheckUtils]: 17: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:25,601 INFO L290 TraceCheckUtils]: 16: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:25,601 INFO L290 TraceCheckUtils]: 15: Hoare triple {30840#true} assume 0 == ~n; {30840#true} is VALID [2022-02-21 03:07:25,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:07:25,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:07:25,602 INFO L272 TraceCheckUtils]: 12: Hoare triple {30840#true} call #t~ret5 := ackermann(~m, ~n - 1); {30840#true} is VALID [2022-02-21 03:07:25,602 INFO L290 TraceCheckUtils]: 11: Hoare triple {30840#true} assume ~n - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:25,602 INFO L290 TraceCheckUtils]: 10: Hoare triple {30840#true} assume ~n - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:25,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:07:25,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:07:25,602 INFO L290 TraceCheckUtils]: 7: Hoare triple {30840#true} assume !(0 == ~n); {30840#true} is VALID [2022-02-21 03:07:25,603 INFO L290 TraceCheckUtils]: 6: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:07:25,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:07:25,603 INFO L272 TraceCheckUtils]: 4: Hoare triple {30840#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {30840#true} is VALID [2022-02-21 03:07:25,603 INFO L290 TraceCheckUtils]: 3: Hoare triple {30840#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {30840#true} is VALID [2022-02-21 03:07:25,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {30840#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {30840#true} is VALID [2022-02-21 03:07:25,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {30840#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {30840#true} is VALID [2022-02-21 03:07:25,603 INFO L290 TraceCheckUtils]: 0: Hoare triple {30840#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(16, 2);call #Ultimate.allocInit(12, 3); {30840#true} is VALID [2022-02-21 03:07:25,604 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 16 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:25,604 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1570945517] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:25,604 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-21 03:07:25,604 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [8, 8] total 17 [2022-02-21 03:07:25,604 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1202081337] [2022-02-21 03:07:25,604 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:07:25,605 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 37 [2022-02-21 03:07:25,605 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:25,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:25,627 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:07:25,627 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-21 03:07:25,628 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:25,628 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-21 03:07:25,628 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=258, Unknown=0, NotChecked=0, Total=306 [2022-02-21 03:07:25,628 INFO L87 Difference]: Start difference. First operand 1029 states and 1373 transitions. Second operand has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:27,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:27,507 INFO L93 Difference]: Finished difference Result 1140 states and 1577 transitions. [2022-02-21 03:07:27,508 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-21 03:07:27,508 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 37 [2022-02-21 03:07:27,508 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:27,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:27,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-02-21 03:07:27,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:27,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-02-21 03:07:27,510 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 84 transitions. [2022-02-21 03:07:27,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:27,617 INFO L225 Difference]: With dead ends: 1140 [2022-02-21 03:07:27,617 INFO L226 Difference]: Without dead ends: 1139 [2022-02-21 03:07:27,617 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=100, Invalid=550, Unknown=0, NotChecked=0, Total=650 [2022-02-21 03:07:27,618 INFO L933 BasicCegarLoop]: 35 mSDtfsCounter, 65 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 203 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 155 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:27,618 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 146 Invalid, 203 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-21 03:07:27,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1139 states. [2022-02-21 03:07:28,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1139 to 1037. [2022-02-21 03:07:28,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:28,914 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1139 states. Second operand has 1037 states, 787 states have (on average 1.1715374841168995) internal successors, (922), 810 states have internal predecessors, (922), 166 states have call successors, (166), 61 states have call predecessors, (166), 79 states have return successors, (234), 165 states have call predecessors, (234), 130 states have call successors, (234) [2022-02-21 03:07:28,915 INFO L74 IsIncluded]: Start isIncluded. First operand 1139 states. Second operand has 1037 states, 787 states have (on average 1.1715374841168995) internal successors, (922), 810 states have internal predecessors, (922), 166 states have call successors, (166), 61 states have call predecessors, (166), 79 states have return successors, (234), 165 states have call predecessors, (234), 130 states have call successors, (234) [2022-02-21 03:07:28,916 INFO L87 Difference]: Start difference. First operand 1139 states. Second operand has 1037 states, 787 states have (on average 1.1715374841168995) internal successors, (922), 810 states have internal predecessors, (922), 166 states have call successors, (166), 61 states have call predecessors, (166), 79 states have return successors, (234), 165 states have call predecessors, (234), 130 states have call successors, (234) [2022-02-21 03:07:28,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:28,957 INFO L93 Difference]: Finished difference Result 1139 states and 1573 transitions. [2022-02-21 03:07:28,957 INFO L276 IsEmpty]: Start isEmpty. Operand 1139 states and 1573 transitions. [2022-02-21 03:07:28,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:28,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:28,963 INFO L74 IsIncluded]: Start isIncluded. First operand has 1037 states, 787 states have (on average 1.1715374841168995) internal successors, (922), 810 states have internal predecessors, (922), 166 states have call successors, (166), 61 states have call predecessors, (166), 79 states have return successors, (234), 165 states have call predecessors, (234), 130 states have call successors, (234) Second operand 1139 states. [2022-02-21 03:07:28,964 INFO L87 Difference]: Start difference. First operand has 1037 states, 787 states have (on average 1.1715374841168995) internal successors, (922), 810 states have internal predecessors, (922), 166 states have call successors, (166), 61 states have call predecessors, (166), 79 states have return successors, (234), 165 states have call predecessors, (234), 130 states have call successors, (234) Second operand 1139 states. [2022-02-21 03:07:29,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:29,007 INFO L93 Difference]: Finished difference Result 1139 states and 1573 transitions. [2022-02-21 03:07:29,007 INFO L276 IsEmpty]: Start isEmpty. Operand 1139 states and 1573 transitions. [2022-02-21 03:07:29,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:29,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:29,011 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:29,012 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:29,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1037 states, 787 states have (on average 1.1715374841168995) internal successors, (922), 810 states have internal predecessors, (922), 166 states have call successors, (166), 61 states have call predecessors, (166), 79 states have return successors, (234), 165 states have call predecessors, (234), 130 states have call successors, (234) [2022-02-21 03:07:29,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1037 states to 1037 states and 1322 transitions. [2022-02-21 03:07:29,054 INFO L78 Accepts]: Start accepts. Automaton has 1037 states and 1322 transitions. Word has length 37 [2022-02-21 03:07:29,054 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:29,054 INFO L470 AbstractCegarLoop]: Abstraction has 1037 states and 1322 transitions. [2022-02-21 03:07:29,055 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-21 03:07:29,055 INFO L276 IsEmpty]: Start isEmpty. Operand 1037 states and 1322 transitions. [2022-02-21 03:07:29,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-02-21 03:07:29,056 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:29,056 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 4, 4, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:29,075 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-02-21 03:07:29,272 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-02-21 03:07:29,272 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ackermannErr7ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:29,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:29,272 INFO L85 PathProgramCache]: Analyzing trace with hash -151680771, now seen corresponding path program 2 times [2022-02-21 03:07:29,272 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:29,272 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1685085635] [2022-02-21 03:07:29,272 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:29,273 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:29,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:29,408 INFO L290 TraceCheckUtils]: 0: Hoare triple {36028#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(16, 2);call #Ultimate.allocInit(12, 3); {36028#true} is VALID [2022-02-21 03:07:29,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {36028#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {36028#true} is VALID [2022-02-21 03:07:29,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {36028#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {36028#true} is VALID [2022-02-21 03:07:29,409 INFO L290 TraceCheckUtils]: 3: Hoare triple {36028#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {36030#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:07:29,409 INFO L272 TraceCheckUtils]: 4: Hoare triple {36030#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {36031#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:29,410 INFO L290 TraceCheckUtils]: 5: Hoare triple {36031#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,410 INFO L290 TraceCheckUtils]: 6: Hoare triple {36032#(<= 0 ackermann_~n)} assume !(0 == ~m); {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,410 INFO L290 TraceCheckUtils]: 7: Hoare triple {36032#(<= 0 ackermann_~n)} assume !(0 == ~n); {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,411 INFO L290 TraceCheckUtils]: 8: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,411 INFO L290 TraceCheckUtils]: 9: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,411 INFO L290 TraceCheckUtils]: 10: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,412 INFO L290 TraceCheckUtils]: 11: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,412 INFO L272 TraceCheckUtils]: 12: Hoare triple {36032#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {36033#(<= 0 (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:29,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {36033#(<= 0 (+ |ackermann_#in~n| 1))} ~m := #in~m;~n := #in~n; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,413 INFO L290 TraceCheckUtils]: 14: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~m); {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~n); {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,414 INFO L290 TraceCheckUtils]: 16: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 <= 2147483647; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,414 INFO L290 TraceCheckUtils]: 17: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 >= -2147483648; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,414 INFO L290 TraceCheckUtils]: 18: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume ~n - 1 <= 2147483647; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,414 INFO L290 TraceCheckUtils]: 19: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume ~n - 1 >= -2147483648; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,415 INFO L272 TraceCheckUtils]: 20: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} call #t~ret5 := ackermann(~m, ~n - 1); {36035#(<= 0 (+ |ackermann_#in~n| 2))} is VALID [2022-02-21 03:07:29,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {36035#(<= 0 (+ |ackermann_#in~n| 2))} ~m := #in~m;~n := #in~n; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume !(0 == ~m); {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,416 INFO L290 TraceCheckUtils]: 23: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume !(0 == ~n); {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume ~m - 1 <= 2147483647; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume ~m - 1 >= -2147483648; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume ~n - 1 <= 2147483647; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume ~n - 1 >= -2147483648; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,418 INFO L272 TraceCheckUtils]: 28: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} call #t~ret5 := ackermann(~m, ~n - 1); {36037#(<= 0 (+ |ackermann_#in~n| 3))} is VALID [2022-02-21 03:07:29,418 INFO L290 TraceCheckUtils]: 29: Hoare triple {36037#(<= 0 (+ |ackermann_#in~n| 3))} ~m := #in~m;~n := #in~n; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume !(0 == ~m); {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume !(0 == ~n); {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,419 INFO L290 TraceCheckUtils]: 32: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume ~m - 1 <= 2147483647; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,419 INFO L290 TraceCheckUtils]: 33: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume ~m - 1 >= -2147483648; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,420 INFO L290 TraceCheckUtils]: 34: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume ~n - 1 <= 2147483647; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,420 INFO L290 TraceCheckUtils]: 35: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume ~n - 1 >= -2147483648; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,420 INFO L272 TraceCheckUtils]: 36: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} call #t~ret5 := ackermann(~m, ~n - 1); {36039#(<= 0 (+ |ackermann_#in~n| 4))} is VALID [2022-02-21 03:07:29,421 INFO L290 TraceCheckUtils]: 37: Hoare triple {36039#(<= 0 (+ |ackermann_#in~n| 4))} ~m := #in~m;~n := #in~n; {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,421 INFO L290 TraceCheckUtils]: 38: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume !(0 == ~m); {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume !(0 == ~n); {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,422 INFO L290 TraceCheckUtils]: 40: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume ~m - 1 <= 2147483647; {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,422 INFO L290 TraceCheckUtils]: 41: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume ~m - 1 >= -2147483648; {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,422 INFO L290 TraceCheckUtils]: 42: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume ~n - 1 <= 2147483647; {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,423 INFO L290 TraceCheckUtils]: 43: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume !(~n - 1 >= -2147483648); {36029#false} is VALID [2022-02-21 03:07:29,423 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 0 proven. 76 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:07:29,423 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:29,423 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1685085635] [2022-02-21 03:07:29,423 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1685085635] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:29,423 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1994281167] [2022-02-21 03:07:29,424 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 03:07:29,424 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:29,424 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:29,425 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-21 03:07:29,444 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-02-21 03:07:29,463 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 03:07:29,463 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 03:07:29,464 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-21 03:07:29,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:29,475 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:29,679 INFO L290 TraceCheckUtils]: 0: Hoare triple {36028#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(16, 2);call #Ultimate.allocInit(12, 3); {36028#true} is VALID [2022-02-21 03:07:29,680 INFO L290 TraceCheckUtils]: 1: Hoare triple {36028#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {36028#true} is VALID [2022-02-21 03:07:29,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {36028#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {36028#true} is VALID [2022-02-21 03:07:29,680 INFO L290 TraceCheckUtils]: 3: Hoare triple {36028#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {36030#(<= 0 |ULTIMATE.start_main_~n~0#1|)} is VALID [2022-02-21 03:07:29,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {36030#(<= 0 |ULTIMATE.start_main_~n~0#1|)} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {36031#(<= 0 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:29,681 INFO L290 TraceCheckUtils]: 5: Hoare triple {36031#(<= 0 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,682 INFO L290 TraceCheckUtils]: 6: Hoare triple {36032#(<= 0 ackermann_~n)} assume !(0 == ~m); {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {36032#(<= 0 ackermann_~n)} assume !(0 == ~n); {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,682 INFO L290 TraceCheckUtils]: 8: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,683 INFO L290 TraceCheckUtils]: 10: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:07:29,684 INFO L272 TraceCheckUtils]: 12: Hoare triple {36032#(<= 0 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {36033#(<= 0 (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:29,685 INFO L290 TraceCheckUtils]: 13: Hoare triple {36033#(<= 0 (+ |ackermann_#in~n| 1))} ~m := #in~m;~n := #in~n; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,685 INFO L290 TraceCheckUtils]: 14: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~m); {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume !(0 == ~n); {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,686 INFO L290 TraceCheckUtils]: 16: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 <= 2147483647; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,686 INFO L290 TraceCheckUtils]: 17: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume ~m - 1 >= -2147483648; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,687 INFO L290 TraceCheckUtils]: 18: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume ~n - 1 <= 2147483647; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} assume ~n - 1 >= -2147483648; {36034#(<= 0 (+ ackermann_~n 1))} is VALID [2022-02-21 03:07:29,688 INFO L272 TraceCheckUtils]: 20: Hoare triple {36034#(<= 0 (+ ackermann_~n 1))} call #t~ret5 := ackermann(~m, ~n - 1); {36035#(<= 0 (+ |ackermann_#in~n| 2))} is VALID [2022-02-21 03:07:29,688 INFO L290 TraceCheckUtils]: 21: Hoare triple {36035#(<= 0 (+ |ackermann_#in~n| 2))} ~m := #in~m;~n := #in~n; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,688 INFO L290 TraceCheckUtils]: 22: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume !(0 == ~m); {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,689 INFO L290 TraceCheckUtils]: 23: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume !(0 == ~n); {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,689 INFO L290 TraceCheckUtils]: 24: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume ~m - 1 <= 2147483647; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,690 INFO L290 TraceCheckUtils]: 25: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume ~m - 1 >= -2147483648; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,690 INFO L290 TraceCheckUtils]: 26: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume ~n - 1 <= 2147483647; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} assume ~n - 1 >= -2147483648; {36036#(<= 0 (+ ackermann_~n 2))} is VALID [2022-02-21 03:07:29,691 INFO L272 TraceCheckUtils]: 28: Hoare triple {36036#(<= 0 (+ ackermann_~n 2))} call #t~ret5 := ackermann(~m, ~n - 1); {36037#(<= 0 (+ |ackermann_#in~n| 3))} is VALID [2022-02-21 03:07:29,691 INFO L290 TraceCheckUtils]: 29: Hoare triple {36037#(<= 0 (+ |ackermann_#in~n| 3))} ~m := #in~m;~n := #in~n; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume !(0 == ~m); {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume !(0 == ~n); {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,693 INFO L290 TraceCheckUtils]: 32: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume ~m - 1 <= 2147483647; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,693 INFO L290 TraceCheckUtils]: 33: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume ~m - 1 >= -2147483648; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,693 INFO L290 TraceCheckUtils]: 34: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume ~n - 1 <= 2147483647; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,694 INFO L290 TraceCheckUtils]: 35: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} assume ~n - 1 >= -2147483648; {36038#(<= 0 (+ ackermann_~n 3))} is VALID [2022-02-21 03:07:29,694 INFO L272 TraceCheckUtils]: 36: Hoare triple {36038#(<= 0 (+ ackermann_~n 3))} call #t~ret5 := ackermann(~m, ~n - 1); {36039#(<= 0 (+ |ackermann_#in~n| 4))} is VALID [2022-02-21 03:07:29,695 INFO L290 TraceCheckUtils]: 37: Hoare triple {36039#(<= 0 (+ |ackermann_#in~n| 4))} ~m := #in~m;~n := #in~n; {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,695 INFO L290 TraceCheckUtils]: 38: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume !(0 == ~m); {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,696 INFO L290 TraceCheckUtils]: 39: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume !(0 == ~n); {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,696 INFO L290 TraceCheckUtils]: 40: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume ~m - 1 <= 2147483647; {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,696 INFO L290 TraceCheckUtils]: 41: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume ~m - 1 >= -2147483648; {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,697 INFO L290 TraceCheckUtils]: 42: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume ~n - 1 <= 2147483647; {36040#(<= 0 (+ ackermann_~n 4))} is VALID [2022-02-21 03:07:29,697 INFO L290 TraceCheckUtils]: 43: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume !(~n - 1 >= -2147483648); {36029#false} is VALID [2022-02-21 03:07:29,698 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 0 proven. 76 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:07:29,698 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:07:30,016 INFO L290 TraceCheckUtils]: 43: Hoare triple {36173#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {36029#false} is VALID [2022-02-21 03:07:30,017 INFO L290 TraceCheckUtils]: 42: Hoare triple {36173#(<= 0 (+ ackermann_~n 2147483647))} assume ~n - 1 <= 2147483647; {36173#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:30,017 INFO L290 TraceCheckUtils]: 41: Hoare triple {36173#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 >= -2147483648; {36173#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:30,018 INFO L290 TraceCheckUtils]: 40: Hoare triple {36173#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 <= 2147483647; {36173#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:30,018 INFO L290 TraceCheckUtils]: 39: Hoare triple {36173#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~n); {36173#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:30,018 INFO L290 TraceCheckUtils]: 38: Hoare triple {36173#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~m); {36173#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:30,019 INFO L290 TraceCheckUtils]: 37: Hoare triple {36192#(<= 0 (+ |ackermann_#in~n| 2147483647))} ~m := #in~m;~n := #in~n; {36173#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:30,019 INFO L272 TraceCheckUtils]: 36: Hoare triple {36196#(<= 0 (+ ackermann_~n 2147483646))} call #t~ret5 := ackermann(~m, ~n - 1); {36192#(<= 0 (+ |ackermann_#in~n| 2147483647))} is VALID [2022-02-21 03:07:30,020 INFO L290 TraceCheckUtils]: 35: Hoare triple {36196#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 >= -2147483648; {36196#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:30,020 INFO L290 TraceCheckUtils]: 34: Hoare triple {36196#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 <= 2147483647; {36196#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:30,020 INFO L290 TraceCheckUtils]: 33: Hoare triple {36196#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 >= -2147483648; {36196#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:30,021 INFO L290 TraceCheckUtils]: 32: Hoare triple {36196#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 <= 2147483647; {36196#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:30,021 INFO L290 TraceCheckUtils]: 31: Hoare triple {36196#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~n); {36196#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:30,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {36196#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~m); {36196#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:30,022 INFO L290 TraceCheckUtils]: 29: Hoare triple {36218#(<= 0 (+ |ackermann_#in~n| 2147483646))} ~m := #in~m;~n := #in~n; {36196#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:30,023 INFO L272 TraceCheckUtils]: 28: Hoare triple {36222#(<= 0 (+ 2147483645 ackermann_~n))} call #t~ret5 := ackermann(~m, ~n - 1); {36218#(<= 0 (+ |ackermann_#in~n| 2147483646))} is VALID [2022-02-21 03:07:30,023 INFO L290 TraceCheckUtils]: 27: Hoare triple {36222#(<= 0 (+ 2147483645 ackermann_~n))} assume ~n - 1 >= -2147483648; {36222#(<= 0 (+ 2147483645 ackermann_~n))} is VALID [2022-02-21 03:07:30,023 INFO L290 TraceCheckUtils]: 26: Hoare triple {36222#(<= 0 (+ 2147483645 ackermann_~n))} assume ~n - 1 <= 2147483647; {36222#(<= 0 (+ 2147483645 ackermann_~n))} is VALID [2022-02-21 03:07:30,024 INFO L290 TraceCheckUtils]: 25: Hoare triple {36222#(<= 0 (+ 2147483645 ackermann_~n))} assume ~m - 1 >= -2147483648; {36222#(<= 0 (+ 2147483645 ackermann_~n))} is VALID [2022-02-21 03:07:30,024 INFO L290 TraceCheckUtils]: 24: Hoare triple {36222#(<= 0 (+ 2147483645 ackermann_~n))} assume ~m - 1 <= 2147483647; {36222#(<= 0 (+ 2147483645 ackermann_~n))} is VALID [2022-02-21 03:07:30,024 INFO L290 TraceCheckUtils]: 23: Hoare triple {36222#(<= 0 (+ 2147483645 ackermann_~n))} assume !(0 == ~n); {36222#(<= 0 (+ 2147483645 ackermann_~n))} is VALID [2022-02-21 03:07:30,025 INFO L290 TraceCheckUtils]: 22: Hoare triple {36222#(<= 0 (+ 2147483645 ackermann_~n))} assume !(0 == ~m); {36222#(<= 0 (+ 2147483645 ackermann_~n))} is VALID [2022-02-21 03:07:30,025 INFO L290 TraceCheckUtils]: 21: Hoare triple {36244#(<= 0 (+ 2147483645 |ackermann_#in~n|))} ~m := #in~m;~n := #in~n; {36222#(<= 0 (+ 2147483645 ackermann_~n))} is VALID [2022-02-21 03:07:30,026 INFO L272 TraceCheckUtils]: 20: Hoare triple {36248#(<= 0 (+ ackermann_~n 2147483644))} call #t~ret5 := ackermann(~m, ~n - 1); {36244#(<= 0 (+ 2147483645 |ackermann_#in~n|))} is VALID [2022-02-21 03:07:30,026 INFO L290 TraceCheckUtils]: 19: Hoare triple {36248#(<= 0 (+ ackermann_~n 2147483644))} assume ~n - 1 >= -2147483648; {36248#(<= 0 (+ ackermann_~n 2147483644))} is VALID [2022-02-21 03:07:30,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {36248#(<= 0 (+ ackermann_~n 2147483644))} assume ~n - 1 <= 2147483647; {36248#(<= 0 (+ ackermann_~n 2147483644))} is VALID [2022-02-21 03:07:30,027 INFO L290 TraceCheckUtils]: 17: Hoare triple {36248#(<= 0 (+ ackermann_~n 2147483644))} assume ~m - 1 >= -2147483648; {36248#(<= 0 (+ ackermann_~n 2147483644))} is VALID [2022-02-21 03:07:30,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {36248#(<= 0 (+ ackermann_~n 2147483644))} assume ~m - 1 <= 2147483647; {36248#(<= 0 (+ ackermann_~n 2147483644))} is VALID [2022-02-21 03:07:30,027 INFO L290 TraceCheckUtils]: 15: Hoare triple {36248#(<= 0 (+ ackermann_~n 2147483644))} assume !(0 == ~n); {36248#(<= 0 (+ ackermann_~n 2147483644))} is VALID [2022-02-21 03:07:30,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {36248#(<= 0 (+ ackermann_~n 2147483644))} assume !(0 == ~m); {36248#(<= 0 (+ ackermann_~n 2147483644))} is VALID [2022-02-21 03:07:30,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {36270#(<= 0 (+ |ackermann_#in~n| 2147483644))} ~m := #in~m;~n := #in~n; {36248#(<= 0 (+ ackermann_~n 2147483644))} is VALID [2022-02-21 03:07:30,029 INFO L272 TraceCheckUtils]: 12: Hoare triple {36274#(<= 0 (+ ackermann_~n 2147483643))} call #t~ret5 := ackermann(~m, ~n - 1); {36270#(<= 0 (+ |ackermann_#in~n| 2147483644))} is VALID [2022-02-21 03:07:30,029 INFO L290 TraceCheckUtils]: 11: Hoare triple {36274#(<= 0 (+ ackermann_~n 2147483643))} assume ~n - 1 >= -2147483648; {36274#(<= 0 (+ ackermann_~n 2147483643))} is VALID [2022-02-21 03:07:30,029 INFO L290 TraceCheckUtils]: 10: Hoare triple {36274#(<= 0 (+ ackermann_~n 2147483643))} assume ~n - 1 <= 2147483647; {36274#(<= 0 (+ ackermann_~n 2147483643))} is VALID [2022-02-21 03:07:30,030 INFO L290 TraceCheckUtils]: 9: Hoare triple {36274#(<= 0 (+ ackermann_~n 2147483643))} assume ~m - 1 >= -2147483648; {36274#(<= 0 (+ ackermann_~n 2147483643))} is VALID [2022-02-21 03:07:30,030 INFO L290 TraceCheckUtils]: 8: Hoare triple {36274#(<= 0 (+ ackermann_~n 2147483643))} assume ~m - 1 <= 2147483647; {36274#(<= 0 (+ ackermann_~n 2147483643))} is VALID [2022-02-21 03:07:30,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {36274#(<= 0 (+ ackermann_~n 2147483643))} assume !(0 == ~n); {36274#(<= 0 (+ ackermann_~n 2147483643))} is VALID [2022-02-21 03:07:30,031 INFO L290 TraceCheckUtils]: 6: Hoare triple {36274#(<= 0 (+ ackermann_~n 2147483643))} assume !(0 == ~m); {36274#(<= 0 (+ ackermann_~n 2147483643))} is VALID [2022-02-21 03:07:30,031 INFO L290 TraceCheckUtils]: 5: Hoare triple {36296#(<= 0 (+ |ackermann_#in~n| 2147483643))} ~m := #in~m;~n := #in~n; {36274#(<= 0 (+ ackermann_~n 2147483643))} is VALID [2022-02-21 03:07:30,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {36300#(<= 0 (+ 2147483643 |ULTIMATE.start_main_~n~0#1|))} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {36296#(<= 0 (+ |ackermann_#in~n| 2147483643))} is VALID [2022-02-21 03:07:30,032 INFO L290 TraceCheckUtils]: 3: Hoare triple {36028#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {36300#(<= 0 (+ 2147483643 |ULTIMATE.start_main_~n~0#1|))} is VALID [2022-02-21 03:07:30,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {36028#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {36028#true} is VALID [2022-02-21 03:07:30,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {36028#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {36028#true} is VALID [2022-02-21 03:07:30,033 INFO L290 TraceCheckUtils]: 0: Hoare triple {36028#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(16, 2);call #Ultimate.allocInit(12, 3); {36028#true} is VALID [2022-02-21 03:07:30,033 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 0 proven. 76 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-21 03:07:30,033 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1994281167] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:07:30,033 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:07:30,033 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12, 12] total 23 [2022-02-21 03:07:30,034 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [635154022] [2022-02-21 03:07:30,034 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:07:30,035 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 21 states have (on average 3.5714285714285716) internal successors, (75), 14 states have internal predecessors, (75), 10 states have call successors, (10), 10 states have call predecessors, (10), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 44 [2022-02-21 03:07:30,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:30,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 24 states, 21 states have (on average 3.5714285714285716) internal successors, (75), 14 states have internal predecessors, (75), 10 states have call successors, (10), 10 states have call predecessors, (10), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:30,087 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:07:30,087 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-02-21 03:07:30,087 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:30,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-02-21 03:07:30,088 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=416, Unknown=0, NotChecked=0, Total=552 [2022-02-21 03:07:30,088 INFO L87 Difference]: Start difference. First operand 1037 states and 1322 transitions. Second operand has 24 states, 21 states have (on average 3.5714285714285716) internal successors, (75), 14 states have internal predecessors, (75), 10 states have call successors, (10), 10 states have call predecessors, (10), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:34,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:34,647 INFO L93 Difference]: Finished difference Result 2055 states and 2762 transitions. [2022-02-21 03:07:34,647 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-02-21 03:07:34,647 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 21 states have (on average 3.5714285714285716) internal successors, (75), 14 states have internal predecessors, (75), 10 states have call successors, (10), 10 states have call predecessors, (10), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 44 [2022-02-21 03:07:34,647 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:34,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 21 states have (on average 3.5714285714285716) internal successors, (75), 14 states have internal predecessors, (75), 10 states have call successors, (10), 10 states have call predecessors, (10), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:34,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 314 transitions. [2022-02-21 03:07:34,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 21 states have (on average 3.5714285714285716) internal successors, (75), 14 states have internal predecessors, (75), 10 states have call successors, (10), 10 states have call predecessors, (10), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:34,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 314 transitions. [2022-02-21 03:07:34,653 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states and 314 transitions. [2022-02-21 03:07:34,916 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 314 edges. 314 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:35,067 INFO L225 Difference]: With dead ends: 2055 [2022-02-21 03:07:35,067 INFO L226 Difference]: Without dead ends: 2054 [2022-02-21 03:07:35,068 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 339 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=554, Invalid=1252, Unknown=0, NotChecked=0, Total=1806 [2022-02-21 03:07:35,069 INFO L933 BasicCegarLoop]: 49 mSDtfsCounter, 530 mSDsluCounter, 377 mSDsCounter, 0 mSdLazyCounter, 449 mSolverCounterSat, 162 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 533 SdHoareTripleChecker+Valid, 426 SdHoareTripleChecker+Invalid, 611 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 162 IncrementalHoareTripleChecker+Valid, 449 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:35,069 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [533 Valid, 426 Invalid, 611 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [162 Valid, 449 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-21 03:07:35,070 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2054 states. [2022-02-21 03:07:37,270 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2054 to 1759. [2022-02-21 03:07:37,270 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:37,272 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2054 states. Second operand has 1759 states, 1326 states have (on average 1.1463046757164403) internal successors, (1520), 1378 states have internal predecessors, (1520), 274 states have call successors, (274), 95 states have call predecessors, (274), 154 states have return successors, (409), 285 states have call predecessors, (409), 226 states have call successors, (409) [2022-02-21 03:07:37,273 INFO L74 IsIncluded]: Start isIncluded. First operand 2054 states. Second operand has 1759 states, 1326 states have (on average 1.1463046757164403) internal successors, (1520), 1378 states have internal predecessors, (1520), 274 states have call successors, (274), 95 states have call predecessors, (274), 154 states have return successors, (409), 285 states have call predecessors, (409), 226 states have call successors, (409) [2022-02-21 03:07:37,274 INFO L87 Difference]: Start difference. First operand 2054 states. Second operand has 1759 states, 1326 states have (on average 1.1463046757164403) internal successors, (1520), 1378 states have internal predecessors, (1520), 274 states have call successors, (274), 95 states have call predecessors, (274), 154 states have return successors, (409), 285 states have call predecessors, (409), 226 states have call successors, (409) [2022-02-21 03:07:37,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:37,398 INFO L93 Difference]: Finished difference Result 2054 states and 2726 transitions. [2022-02-21 03:07:37,398 INFO L276 IsEmpty]: Start isEmpty. Operand 2054 states and 2726 transitions. [2022-02-21 03:07:37,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:37,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:37,407 INFO L74 IsIncluded]: Start isIncluded. First operand has 1759 states, 1326 states have (on average 1.1463046757164403) internal successors, (1520), 1378 states have internal predecessors, (1520), 274 states have call successors, (274), 95 states have call predecessors, (274), 154 states have return successors, (409), 285 states have call predecessors, (409), 226 states have call successors, (409) Second operand 2054 states. [2022-02-21 03:07:37,408 INFO L87 Difference]: Start difference. First operand has 1759 states, 1326 states have (on average 1.1463046757164403) internal successors, (1520), 1378 states have internal predecessors, (1520), 274 states have call successors, (274), 95 states have call predecessors, (274), 154 states have return successors, (409), 285 states have call predecessors, (409), 226 states have call successors, (409) Second operand 2054 states. [2022-02-21 03:07:37,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:37,530 INFO L93 Difference]: Finished difference Result 2054 states and 2726 transitions. [2022-02-21 03:07:37,530 INFO L276 IsEmpty]: Start isEmpty. Operand 2054 states and 2726 transitions. [2022-02-21 03:07:37,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:37,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:37,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:37,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:37,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1759 states, 1326 states have (on average 1.1463046757164403) internal successors, (1520), 1378 states have internal predecessors, (1520), 274 states have call successors, (274), 95 states have call predecessors, (274), 154 states have return successors, (409), 285 states have call predecessors, (409), 226 states have call successors, (409) [2022-02-21 03:07:37,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1759 states to 1759 states and 2203 transitions. [2022-02-21 03:07:37,661 INFO L78 Accepts]: Start accepts. Automaton has 1759 states and 2203 transitions. Word has length 44 [2022-02-21 03:07:37,661 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:37,662 INFO L470 AbstractCegarLoop]: Abstraction has 1759 states and 2203 transitions. [2022-02-21 03:07:37,662 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 21 states have (on average 3.5714285714285716) internal successors, (75), 14 states have internal predecessors, (75), 10 states have call successors, (10), 10 states have call predecessors, (10), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-21 03:07:37,662 INFO L276 IsEmpty]: Start isEmpty. Operand 1759 states and 2203 transitions. [2022-02-21 03:07:37,662 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-21 03:07:37,663 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:37,663 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:37,684 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-02-21 03:07:37,863 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-02-21 03:07:37,863 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ackermannErr7ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:37,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:37,864 INFO L85 PathProgramCache]: Analyzing trace with hash 1560392739, now seen corresponding path program 2 times [2022-02-21 03:07:37,864 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:37,864 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [341185259] [2022-02-21 03:07:37,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:37,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:37,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:37,920 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:07:37,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:37,946 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:07:37,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:37,978 INFO L290 TraceCheckUtils]: 0: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:37,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:37,980 INFO L290 TraceCheckUtils]: 2: Hoare triple {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:37,980 INFO L290 TraceCheckUtils]: 3: Hoare triple {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:37,981 INFO L290 TraceCheckUtils]: 4: Hoare triple {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} assume true; {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:37,981 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} {45076#true} #60#return; {45104#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:37,981 INFO L290 TraceCheckUtils]: 0: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:07:37,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:07:37,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {45076#true} assume 0 == ~n; {45076#true} is VALID [2022-02-21 03:07:37,982 INFO L290 TraceCheckUtils]: 3: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:37,982 INFO L290 TraceCheckUtils]: 4: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:37,982 INFO L272 TraceCheckUtils]: 5: Hoare triple {45076#true} call #t~ret4 := ackermann(~m - 1, 1); {45076#true} is VALID [2022-02-21 03:07:37,983 INFO L290 TraceCheckUtils]: 6: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:37,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:37,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:37,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:37,984 INFO L290 TraceCheckUtils]: 10: Hoare triple {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} assume true; {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:37,985 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} {45076#true} #60#return; {45104#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:37,985 INFO L290 TraceCheckUtils]: 12: Hoare triple {45104#(<= 2 |ackermann_#t~ret4|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {45105#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:37,986 INFO L290 TraceCheckUtils]: 13: Hoare triple {45105#(<= 2 |ackermann_#res|)} assume true; {45105#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:37,986 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {45105#(<= 2 |ackermann_#res|)} {45076#true} #62#return; {45093#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:37,986 INFO L290 TraceCheckUtils]: 0: Hoare triple {45076#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(16, 2);call #Ultimate.allocInit(12, 3); {45076#true} is VALID [2022-02-21 03:07:37,987 INFO L290 TraceCheckUtils]: 1: Hoare triple {45076#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {45076#true} is VALID [2022-02-21 03:07:37,987 INFO L290 TraceCheckUtils]: 2: Hoare triple {45076#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {45076#true} is VALID [2022-02-21 03:07:37,987 INFO L290 TraceCheckUtils]: 3: Hoare triple {45076#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {45076#true} is VALID [2022-02-21 03:07:37,987 INFO L272 TraceCheckUtils]: 4: Hoare triple {45076#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {45076#true} is VALID [2022-02-21 03:07:37,987 INFO L290 TraceCheckUtils]: 5: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:07:37,987 INFO L290 TraceCheckUtils]: 6: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:07:37,988 INFO L290 TraceCheckUtils]: 7: Hoare triple {45076#true} assume !(0 == ~n); {45076#true} is VALID [2022-02-21 03:07:37,988 INFO L290 TraceCheckUtils]: 8: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:37,988 INFO L290 TraceCheckUtils]: 9: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:37,988 INFO L290 TraceCheckUtils]: 10: Hoare triple {45076#true} assume ~n - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:37,988 INFO L290 TraceCheckUtils]: 11: Hoare triple {45076#true} assume ~n - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:37,988 INFO L272 TraceCheckUtils]: 12: Hoare triple {45076#true} call #t~ret5 := ackermann(~m, ~n - 1); {45076#true} is VALID [2022-02-21 03:07:37,988 INFO L290 TraceCheckUtils]: 13: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:07:37,989 INFO L290 TraceCheckUtils]: 14: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:07:37,989 INFO L290 TraceCheckUtils]: 15: Hoare triple {45076#true} assume 0 == ~n; {45076#true} is VALID [2022-02-21 03:07:37,989 INFO L290 TraceCheckUtils]: 16: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:37,989 INFO L290 TraceCheckUtils]: 17: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:37,989 INFO L272 TraceCheckUtils]: 18: Hoare triple {45076#true} call #t~ret4 := ackermann(~m - 1, 1); {45076#true} is VALID [2022-02-21 03:07:37,989 INFO L290 TraceCheckUtils]: 19: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:37,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:37,990 INFO L290 TraceCheckUtils]: 21: Hoare triple {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:37,991 INFO L290 TraceCheckUtils]: 22: Hoare triple {45106#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:37,991 INFO L290 TraceCheckUtils]: 23: Hoare triple {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} assume true; {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:37,991 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {45107#(or (<= 2 |ackermann_#res|) (not (= |ackermann_#in~n| 1)))} {45076#true} #60#return; {45104#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:37,992 INFO L290 TraceCheckUtils]: 25: Hoare triple {45104#(<= 2 |ackermann_#t~ret4|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {45105#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:37,992 INFO L290 TraceCheckUtils]: 26: Hoare triple {45105#(<= 2 |ackermann_#res|)} assume true; {45105#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:37,992 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {45105#(<= 2 |ackermann_#res|)} {45076#true} #62#return; {45093#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:37,993 INFO L290 TraceCheckUtils]: 28: Hoare triple {45093#(<= 2 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {45093#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:37,993 INFO L272 TraceCheckUtils]: 29: Hoare triple {45093#(<= 2 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {45094#(<= 2 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:37,994 INFO L290 TraceCheckUtils]: 30: Hoare triple {45094#(<= 2 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:37,994 INFO L290 TraceCheckUtils]: 31: Hoare triple {45095#(<= 2 ackermann_~n)} assume !(0 == ~m); {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:37,994 INFO L290 TraceCheckUtils]: 32: Hoare triple {45095#(<= 2 ackermann_~n)} assume !(0 == ~n); {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:37,994 INFO L290 TraceCheckUtils]: 33: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~m - 1 <= 2147483647; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:37,995 INFO L290 TraceCheckUtils]: 34: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~m - 1 >= -2147483648; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:37,995 INFO L290 TraceCheckUtils]: 35: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~n - 1 <= 2147483647; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:37,995 INFO L290 TraceCheckUtils]: 36: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~n - 1 >= -2147483648; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:37,996 INFO L272 TraceCheckUtils]: 37: Hoare triple {45095#(<= 2 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {45096#(<= 1 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:37,996 INFO L290 TraceCheckUtils]: 38: Hoare triple {45096#(<= 1 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:37,996 INFO L290 TraceCheckUtils]: 39: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(0 == ~m); {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:37,997 INFO L290 TraceCheckUtils]: 40: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(0 == ~n); {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:37,997 INFO L290 TraceCheckUtils]: 41: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~m - 1 <= 2147483647; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:37,997 INFO L290 TraceCheckUtils]: 42: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~m - 1 >= -2147483648; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:37,998 INFO L290 TraceCheckUtils]: 43: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~n - 1 <= 2147483647; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:37,998 INFO L290 TraceCheckUtils]: 44: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(~n - 1 >= -2147483648); {45077#false} is VALID [2022-02-21 03:07:37,998 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 27 proven. 9 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:37,998 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:37,999 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [341185259] [2022-02-21 03:07:37,999 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [341185259] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:37,999 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1430147123] [2022-02-21 03:07:37,999 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 03:07:37,999 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:37,999 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:38,009 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-21 03:07:38,011 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-02-21 03:07:38,049 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 03:07:38,049 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 03:07:38,050 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-21 03:07:38,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:38,058 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:38,214 INFO L290 TraceCheckUtils]: 0: Hoare triple {45076#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(16, 2);call #Ultimate.allocInit(12, 3); {45076#true} is VALID [2022-02-21 03:07:38,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {45076#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {45076#true} is VALID [2022-02-21 03:07:38,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {45076#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {45076#true} is VALID [2022-02-21 03:07:38,215 INFO L290 TraceCheckUtils]: 3: Hoare triple {45076#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {45076#true} is VALID [2022-02-21 03:07:38,215 INFO L272 TraceCheckUtils]: 4: Hoare triple {45076#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {45076#true} is VALID [2022-02-21 03:07:38,215 INFO L290 TraceCheckUtils]: 5: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:07:38,215 INFO L290 TraceCheckUtils]: 6: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:07:38,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {45076#true} assume !(0 == ~n); {45076#true} is VALID [2022-02-21 03:07:38,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:38,216 INFO L290 TraceCheckUtils]: 9: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:38,216 INFO L290 TraceCheckUtils]: 10: Hoare triple {45076#true} assume ~n - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:38,216 INFO L290 TraceCheckUtils]: 11: Hoare triple {45076#true} assume ~n - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:38,216 INFO L272 TraceCheckUtils]: 12: Hoare triple {45076#true} call #t~ret5 := ackermann(~m, ~n - 1); {45076#true} is VALID [2022-02-21 03:07:38,216 INFO L290 TraceCheckUtils]: 13: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:07:38,216 INFO L290 TraceCheckUtils]: 14: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:07:38,216 INFO L290 TraceCheckUtils]: 15: Hoare triple {45076#true} assume 0 == ~n; {45076#true} is VALID [2022-02-21 03:07:38,216 INFO L290 TraceCheckUtils]: 16: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:38,217 INFO L290 TraceCheckUtils]: 17: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:38,217 INFO L272 TraceCheckUtils]: 18: Hoare triple {45076#true} call #t~ret4 := ackermann(~m - 1, 1); {45076#true} is VALID [2022-02-21 03:07:38,217 INFO L290 TraceCheckUtils]: 19: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45168#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:38,217 INFO L290 TraceCheckUtils]: 20: Hoare triple {45168#(<= |ackermann_#in~n| ackermann_~n)} assume 0 == ~m; {45168#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:38,218 INFO L290 TraceCheckUtils]: 21: Hoare triple {45168#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n <= 2147483647; {45168#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:38,218 INFO L290 TraceCheckUtils]: 22: Hoare triple {45168#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {45178#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:38,218 INFO L290 TraceCheckUtils]: 23: Hoare triple {45178#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {45178#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:38,219 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {45178#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {45076#true} #60#return; {45104#(<= 2 |ackermann_#t~ret4|)} is VALID [2022-02-21 03:07:38,219 INFO L290 TraceCheckUtils]: 25: Hoare triple {45104#(<= 2 |ackermann_#t~ret4|)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {45105#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:38,220 INFO L290 TraceCheckUtils]: 26: Hoare triple {45105#(<= 2 |ackermann_#res|)} assume true; {45105#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:07:38,220 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {45105#(<= 2 |ackermann_#res|)} {45076#true} #62#return; {45093#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:38,220 INFO L290 TraceCheckUtils]: 28: Hoare triple {45093#(<= 2 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {45093#(<= 2 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:38,221 INFO L272 TraceCheckUtils]: 29: Hoare triple {45093#(<= 2 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {45094#(<= 2 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:38,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {45094#(<= 2 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:38,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {45095#(<= 2 ackermann_~n)} assume !(0 == ~m); {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:38,222 INFO L290 TraceCheckUtils]: 32: Hoare triple {45095#(<= 2 ackermann_~n)} assume !(0 == ~n); {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:38,222 INFO L290 TraceCheckUtils]: 33: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~m - 1 <= 2147483647; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:38,222 INFO L290 TraceCheckUtils]: 34: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~m - 1 >= -2147483648; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:38,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~n - 1 <= 2147483647; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:38,223 INFO L290 TraceCheckUtils]: 36: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~n - 1 >= -2147483648; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:07:38,223 INFO L272 TraceCheckUtils]: 37: Hoare triple {45095#(<= 2 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {45096#(<= 1 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:38,224 INFO L290 TraceCheckUtils]: 38: Hoare triple {45096#(<= 1 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:38,224 INFO L290 TraceCheckUtils]: 39: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(0 == ~m); {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:38,224 INFO L290 TraceCheckUtils]: 40: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(0 == ~n); {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:38,224 INFO L290 TraceCheckUtils]: 41: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~m - 1 <= 2147483647; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:38,225 INFO L290 TraceCheckUtils]: 42: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~m - 1 >= -2147483648; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:38,225 INFO L290 TraceCheckUtils]: 43: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~n - 1 <= 2147483647; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:38,225 INFO L290 TraceCheckUtils]: 44: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(~n - 1 >= -2147483648); {45077#false} is VALID [2022-02-21 03:07:38,226 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 25 proven. 11 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:38,226 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:07:38,843 INFO L290 TraceCheckUtils]: 44: Hoare triple {45245#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {45077#false} is VALID [2022-02-21 03:07:38,843 INFO L290 TraceCheckUtils]: 43: Hoare triple {45245#(<= 0 (+ ackermann_~n 2147483647))} assume ~n - 1 <= 2147483647; {45245#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:38,844 INFO L290 TraceCheckUtils]: 42: Hoare triple {45245#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 >= -2147483648; {45245#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:38,844 INFO L290 TraceCheckUtils]: 41: Hoare triple {45245#(<= 0 (+ ackermann_~n 2147483647))} assume ~m - 1 <= 2147483647; {45245#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:38,844 INFO L290 TraceCheckUtils]: 40: Hoare triple {45245#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~n); {45245#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:38,845 INFO L290 TraceCheckUtils]: 39: Hoare triple {45245#(<= 0 (+ ackermann_~n 2147483647))} assume !(0 == ~m); {45245#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:38,845 INFO L290 TraceCheckUtils]: 38: Hoare triple {45264#(<= 0 (+ |ackermann_#in~n| 2147483647))} ~m := #in~m;~n := #in~n; {45245#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:07:38,846 INFO L272 TraceCheckUtils]: 37: Hoare triple {45268#(<= 0 (+ ackermann_~n 2147483646))} call #t~ret5 := ackermann(~m, ~n - 1); {45264#(<= 0 (+ |ackermann_#in~n| 2147483647))} is VALID [2022-02-21 03:07:38,846 INFO L290 TraceCheckUtils]: 36: Hoare triple {45268#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 >= -2147483648; {45268#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:38,846 INFO L290 TraceCheckUtils]: 35: Hoare triple {45268#(<= 0 (+ ackermann_~n 2147483646))} assume ~n - 1 <= 2147483647; {45268#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:38,847 INFO L290 TraceCheckUtils]: 34: Hoare triple {45268#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 >= -2147483648; {45268#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:38,847 INFO L290 TraceCheckUtils]: 33: Hoare triple {45268#(<= 0 (+ ackermann_~n 2147483646))} assume ~m - 1 <= 2147483647; {45268#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:38,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {45268#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~n); {45268#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:38,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {45268#(<= 0 (+ ackermann_~n 2147483646))} assume !(0 == ~m); {45268#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:38,848 INFO L290 TraceCheckUtils]: 30: Hoare triple {45290#(<= 0 (+ |ackermann_#in~n| 2147483646))} ~m := #in~m;~n := #in~n; {45268#(<= 0 (+ ackermann_~n 2147483646))} is VALID [2022-02-21 03:07:38,848 INFO L272 TraceCheckUtils]: 29: Hoare triple {45294#(<= 0 (+ |ackermann_#t~ret5| 2147483646))} call #t~ret6 := ackermann(~m - 1, #t~ret5); {45290#(<= 0 (+ |ackermann_#in~n| 2147483646))} is VALID [2022-02-21 03:07:38,849 INFO L290 TraceCheckUtils]: 28: Hoare triple {45294#(<= 0 (+ |ackermann_#t~ret5| 2147483646))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {45294#(<= 0 (+ |ackermann_#t~ret5| 2147483646))} is VALID [2022-02-21 03:07:38,849 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {45304#(<= 0 (+ |ackermann_#res| 2147483646))} {45076#true} #62#return; {45294#(<= 0 (+ |ackermann_#t~ret5| 2147483646))} is VALID [2022-02-21 03:07:38,850 INFO L290 TraceCheckUtils]: 26: Hoare triple {45304#(<= 0 (+ |ackermann_#res| 2147483646))} assume true; {45304#(<= 0 (+ |ackermann_#res| 2147483646))} is VALID [2022-02-21 03:07:38,850 INFO L290 TraceCheckUtils]: 25: Hoare triple {45311#(<= 0 (+ |ackermann_#t~ret4| 2147483646))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {45304#(<= 0 (+ |ackermann_#res| 2147483646))} is VALID [2022-02-21 03:07:38,851 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {45318#(or (<= 0 (+ |ackermann_#res| 2147483646)) (not (<= 1 |ackermann_#in~n|)))} {45076#true} #60#return; {45311#(<= 0 (+ |ackermann_#t~ret4| 2147483646))} is VALID [2022-02-21 03:07:38,851 INFO L290 TraceCheckUtils]: 23: Hoare triple {45318#(or (<= 0 (+ |ackermann_#res| 2147483646)) (not (<= 1 |ackermann_#in~n|)))} assume true; {45318#(or (<= 0 (+ |ackermann_#res| 2147483646)) (not (<= 1 |ackermann_#in~n|)))} is VALID [2022-02-21 03:07:38,852 INFO L290 TraceCheckUtils]: 22: Hoare triple {45325#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ ackermann_~n 2147483647)))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {45318#(or (<= 0 (+ |ackermann_#res| 2147483646)) (not (<= 1 |ackermann_#in~n|)))} is VALID [2022-02-21 03:07:38,852 INFO L290 TraceCheckUtils]: 21: Hoare triple {45325#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ ackermann_~n 2147483647)))} assume 1 + ~n <= 2147483647; {45325#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ ackermann_~n 2147483647)))} is VALID [2022-02-21 03:07:38,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {45325#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ ackermann_~n 2147483647)))} assume 0 == ~m; {45325#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ ackermann_~n 2147483647)))} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 19: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45325#(or (not (<= 1 |ackermann_#in~n|)) (<= 0 (+ ackermann_~n 2147483647)))} is VALID [2022-02-21 03:07:38,853 INFO L272 TraceCheckUtils]: 18: Hoare triple {45076#true} call #t~ret4 := ackermann(~m - 1, 1); {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 17: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 16: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 15: Hoare triple {45076#true} assume 0 == ~n; {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 14: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 13: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L272 TraceCheckUtils]: 12: Hoare triple {45076#true} call #t~ret5 := ackermann(~m, ~n - 1); {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 11: Hoare triple {45076#true} assume ~n - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 10: Hoare triple {45076#true} assume ~n - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 9: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 8: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {45076#true} assume !(0 == ~n); {45076#true} is VALID [2022-02-21 03:07:38,853 INFO L290 TraceCheckUtils]: 6: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:07:38,854 INFO L290 TraceCheckUtils]: 5: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:07:38,854 INFO L272 TraceCheckUtils]: 4: Hoare triple {45076#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {45076#true} is VALID [2022-02-21 03:07:38,854 INFO L290 TraceCheckUtils]: 3: Hoare triple {45076#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {45076#true} is VALID [2022-02-21 03:07:38,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {45076#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {45076#true} is VALID [2022-02-21 03:07:38,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {45076#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {45076#true} is VALID [2022-02-21 03:07:38,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {45076#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(16, 2);call #Ultimate.allocInit(12, 3); {45076#true} is VALID [2022-02-21 03:07:38,854 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 29 proven. 7 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-21 03:07:38,854 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1430147123] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:07:38,854 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:07:38,854 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 10] total 21 [2022-02-21 03:07:38,854 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1166905185] [2022-02-21 03:07:38,855 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:07:38,855 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 3.0) internal successors, (63), 16 states have internal predecessors, (63), 5 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) Word has length 45 [2022-02-21 03:07:38,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:07:38,855 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 22 states, 21 states have (on average 3.0) internal successors, (63), 16 states have internal predecessors, (63), 5 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:38,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:38,925 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-02-21 03:07:38,925 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:07:38,925 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-02-21 03:07:38,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=394, Unknown=0, NotChecked=0, Total=462 [2022-02-21 03:07:38,925 INFO L87 Difference]: Start difference. First operand 1759 states and 2203 transitions. Second operand has 22 states, 21 states have (on average 3.0) internal successors, (63), 16 states have internal predecessors, (63), 5 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:45,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:45,754 INFO L93 Difference]: Finished difference Result 3798 states and 5493 transitions. [2022-02-21 03:07:45,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-02-21 03:07:45,755 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 3.0) internal successors, (63), 16 states have internal predecessors, (63), 5 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) Word has length 45 [2022-02-21 03:07:45,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:45,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 3.0) internal successors, (63), 16 states have internal predecessors, (63), 5 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:45,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 250 transitions. [2022-02-21 03:07:45,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 3.0) internal successors, (63), 16 states have internal predecessors, (63), 5 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:45,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 250 transitions. [2022-02-21 03:07:45,760 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 250 transitions. [2022-02-21 03:07:45,968 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 250 edges. 250 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:46,354 INFO L225 Difference]: With dead ends: 3798 [2022-02-21 03:07:46,355 INFO L226 Difference]: Without dead ends: 2636 [2022-02-21 03:07:46,371 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 487 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=586, Invalid=1964, Unknown=0, NotChecked=0, Total=2550 [2022-02-21 03:07:46,372 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 268 mSDsluCounter, 273 mSDsCounter, 0 mSdLazyCounter, 697 mSolverCounterSat, 368 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 268 SdHoareTripleChecker+Valid, 309 SdHoareTripleChecker+Invalid, 1065 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 368 IncrementalHoareTripleChecker+Valid, 697 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:46,372 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [268 Valid, 309 Invalid, 1065 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [368 Valid, 697 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-02-21 03:07:46,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2636 states. [2022-02-21 03:07:49,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2636 to 1939. [2022-02-21 03:07:49,010 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:49,011 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2636 states. Second operand has 1939 states, 1464 states have (on average 1.1400273224043715) internal successors, (1669), 1522 states have internal predecessors, (1669), 298 states have call successors, (298), 109 states have call predecessors, (298), 172 states have return successors, (443), 307 states have call predecessors, (443), 245 states have call successors, (443) [2022-02-21 03:07:49,012 INFO L74 IsIncluded]: Start isIncluded. First operand 2636 states. Second operand has 1939 states, 1464 states have (on average 1.1400273224043715) internal successors, (1669), 1522 states have internal predecessors, (1669), 298 states have call successors, (298), 109 states have call predecessors, (298), 172 states have return successors, (443), 307 states have call predecessors, (443), 245 states have call successors, (443) [2022-02-21 03:07:49,014 INFO L87 Difference]: Start difference. First operand 2636 states. Second operand has 1939 states, 1464 states have (on average 1.1400273224043715) internal successors, (1669), 1522 states have internal predecessors, (1669), 298 states have call successors, (298), 109 states have call predecessors, (298), 172 states have return successors, (443), 307 states have call predecessors, (443), 245 states have call successors, (443) [2022-02-21 03:07:49,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:49,213 INFO L93 Difference]: Finished difference Result 2636 states and 3698 transitions. [2022-02-21 03:07:49,213 INFO L276 IsEmpty]: Start isEmpty. Operand 2636 states and 3698 transitions. [2022-02-21 03:07:49,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:49,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:49,222 INFO L74 IsIncluded]: Start isIncluded. First operand has 1939 states, 1464 states have (on average 1.1400273224043715) internal successors, (1669), 1522 states have internal predecessors, (1669), 298 states have call successors, (298), 109 states have call predecessors, (298), 172 states have return successors, (443), 307 states have call predecessors, (443), 245 states have call successors, (443) Second operand 2636 states. [2022-02-21 03:07:49,224 INFO L87 Difference]: Start difference. First operand has 1939 states, 1464 states have (on average 1.1400273224043715) internal successors, (1669), 1522 states have internal predecessors, (1669), 298 states have call successors, (298), 109 states have call predecessors, (298), 172 states have return successors, (443), 307 states have call predecessors, (443), 245 states have call successors, (443) Second operand 2636 states. [2022-02-21 03:07:49,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:49,446 INFO L93 Difference]: Finished difference Result 2636 states and 3698 transitions. [2022-02-21 03:07:49,446 INFO L276 IsEmpty]: Start isEmpty. Operand 2636 states and 3698 transitions. [2022-02-21 03:07:49,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:49,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:49,453 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:49,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:49,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1939 states, 1464 states have (on average 1.1400273224043715) internal successors, (1669), 1522 states have internal predecessors, (1669), 298 states have call successors, (298), 109 states have call predecessors, (298), 172 states have return successors, (443), 307 states have call predecessors, (443), 245 states have call successors, (443) [2022-02-21 03:07:49,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1939 states to 1939 states and 2410 transitions. [2022-02-21 03:07:49,593 INFO L78 Accepts]: Start accepts. Automaton has 1939 states and 2410 transitions. Word has length 45 [2022-02-21 03:07:49,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:49,593 INFO L470 AbstractCegarLoop]: Abstraction has 1939 states and 2410 transitions. [2022-02-21 03:07:49,593 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 21 states have (on average 3.0) internal successors, (63), 16 states have internal predecessors, (63), 5 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-21 03:07:49,593 INFO L276 IsEmpty]: Start isEmpty. Operand 1939 states and 2410 transitions. [2022-02-21 03:07:49,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-21 03:07:49,594 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:49,594 INFO L514 BasicCegarLoop]: trace histogram [7, 6, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:49,613 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-02-21 03:07:49,795 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-02-21 03:07:49,795 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ackermannErr5ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:49,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:49,797 INFO L85 PathProgramCache]: Analyzing trace with hash -242379077, now seen corresponding path program 1 times [2022-02-21 03:07:49,797 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:49,797 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1487812132] [2022-02-21 03:07:49,797 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:49,797 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:49,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:49,840 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-02-21 03:07:49,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:49,859 INFO L290 TraceCheckUtils]: 0: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57616#(= ackermann_~m |ackermann_#in~m|)} is VALID [2022-02-21 03:07:49,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {57616#(= ackermann_~m |ackermann_#in~m|)} assume 0 == ~m; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:49,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {57617#(= |ackermann_#in~m| 0)} assume 1 + ~n <= 2147483647; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:49,860 INFO L290 TraceCheckUtils]: 3: Hoare triple {57617#(= |ackermann_#in~m| 0)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:49,861 INFO L290 TraceCheckUtils]: 4: Hoare triple {57617#(= |ackermann_#in~m| 0)} assume true; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:49,861 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {57617#(= |ackermann_#in~m| 0)} {57603#true} #62#return; {57611#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 0: Hoare triple {57603#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(16, 2);call #Ultimate.allocInit(12, 3); {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {57603#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {57603#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 3: Hoare triple {57603#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L272 TraceCheckUtils]: 4: Hoare triple {57603#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 5: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 6: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 7: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 8: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 9: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L272 TraceCheckUtils]: 10: Hoare triple {57603#true} call #t~ret4 := ackermann(~m - 1, 1); {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 12: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 13: Hoare triple {57603#true} assume !(0 == ~n); {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 14: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:49,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 16: Hoare triple {57603#true} assume ~n - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 17: Hoare triple {57603#true} assume ~n - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L272 TraceCheckUtils]: 18: Hoare triple {57603#true} call #t~ret5 := ackermann(~m, ~n - 1); {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 19: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 20: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 21: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 22: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L272 TraceCheckUtils]: 24: Hoare triple {57603#true} call #t~ret4 := ackermann(~m - 1, 1); {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 26: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 27: Hoare triple {57603#true} assume !(0 == ~n); {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 28: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {57603#true} assume ~n - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {57603#true} assume ~n - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:49,863 INFO L272 TraceCheckUtils]: 32: Hoare triple {57603#true} call #t~ret5 := ackermann(~m, ~n - 1); {57603#true} is VALID [2022-02-21 03:07:49,864 INFO L290 TraceCheckUtils]: 33: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57616#(= ackermann_~m |ackermann_#in~m|)} is VALID [2022-02-21 03:07:49,864 INFO L290 TraceCheckUtils]: 34: Hoare triple {57616#(= ackermann_~m |ackermann_#in~m|)} assume 0 == ~m; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:49,864 INFO L290 TraceCheckUtils]: 35: Hoare triple {57617#(= |ackermann_#in~m| 0)} assume 1 + ~n <= 2147483647; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:49,865 INFO L290 TraceCheckUtils]: 36: Hoare triple {57617#(= |ackermann_#in~m| 0)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:49,865 INFO L290 TraceCheckUtils]: 37: Hoare triple {57617#(= |ackermann_#in~m| 0)} assume true; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:07:49,865 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {57617#(= |ackermann_#in~m| 0)} {57603#true} #62#return; {57611#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:07:49,866 INFO L290 TraceCheckUtils]: 39: Hoare triple {57611#(<= 0 ackermann_~m)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {57611#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:07:49,866 INFO L272 TraceCheckUtils]: 40: Hoare triple {57611#(<= 0 ackermann_~m)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {57612#(<= 0 (+ |ackermann_#in~m| 1))} is VALID [2022-02-21 03:07:49,867 INFO L290 TraceCheckUtils]: 41: Hoare triple {57612#(<= 0 (+ |ackermann_#in~m| 1))} ~m := #in~m;~n := #in~n; {57613#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:07:49,867 INFO L290 TraceCheckUtils]: 42: Hoare triple {57613#(<= 0 (+ ackermann_~m 1))} assume !(0 == ~m); {57613#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:07:49,867 INFO L290 TraceCheckUtils]: 43: Hoare triple {57613#(<= 0 (+ ackermann_~m 1))} assume 0 == ~n; {57613#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:07:49,867 INFO L290 TraceCheckUtils]: 44: Hoare triple {57613#(<= 0 (+ ackermann_~m 1))} assume ~m - 1 <= 2147483647; {57613#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:07:49,868 INFO L290 TraceCheckUtils]: 45: Hoare triple {57613#(<= 0 (+ ackermann_~m 1))} assume ~m - 1 >= -2147483648; {57613#(<= 0 (+ ackermann_~m 1))} is VALID [2022-02-21 03:07:49,868 INFO L272 TraceCheckUtils]: 46: Hoare triple {57613#(<= 0 (+ ackermann_~m 1))} call #t~ret4 := ackermann(~m - 1, 1); {57614#(<= 0 (+ |ackermann_#in~m| 2))} is VALID [2022-02-21 03:07:49,869 INFO L290 TraceCheckUtils]: 47: Hoare triple {57614#(<= 0 (+ |ackermann_#in~m| 2))} ~m := #in~m;~n := #in~n; {57615#(<= 0 (+ ackermann_~m 2))} is VALID [2022-02-21 03:07:49,869 INFO L290 TraceCheckUtils]: 48: Hoare triple {57615#(<= 0 (+ ackermann_~m 2))} assume !(0 == ~m); {57615#(<= 0 (+ ackermann_~m 2))} is VALID [2022-02-21 03:07:49,869 INFO L290 TraceCheckUtils]: 49: Hoare triple {57615#(<= 0 (+ ackermann_~m 2))} assume !(0 == ~n); {57615#(<= 0 (+ ackermann_~m 2))} is VALID [2022-02-21 03:07:49,870 INFO L290 TraceCheckUtils]: 50: Hoare triple {57615#(<= 0 (+ ackermann_~m 2))} assume ~m - 1 <= 2147483647; {57615#(<= 0 (+ ackermann_~m 2))} is VALID [2022-02-21 03:07:49,870 INFO L290 TraceCheckUtils]: 51: Hoare triple {57615#(<= 0 (+ ackermann_~m 2))} assume !(~m - 1 >= -2147483648); {57604#false} is VALID [2022-02-21 03:07:49,870 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 40 proven. 5 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-21 03:07:49,870 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:49,870 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1487812132] [2022-02-21 03:07:49,870 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1487812132] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:49,870 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [583320198] [2022-02-21 03:07:49,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:49,871 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:49,871 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:49,872 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-21 03:07:49,872 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-02-21 03:07:49,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:49,917 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-21 03:07:49,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:49,927 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:50,137 INFO L290 TraceCheckUtils]: 0: Hoare triple {57603#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(16, 2);call #Ultimate.allocInit(12, 3); {57603#true} is VALID [2022-02-21 03:07:50,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {57603#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~nondet8#1, main_#t~ret9#1, main_~m~0#1, main_~n~0#1, main_~result~0#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~m~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {57603#true} is VALID [2022-02-21 03:07:50,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {57603#true} assume !(main_~m~0#1 < 0 || main_~m~0#1 > 3);assume -2147483648 <= main_#t~nondet8#1 && main_#t~nondet8#1 <= 2147483647;main_~n~0#1 := main_#t~nondet8#1;havoc main_#t~nondet8#1; {57603#true} is VALID [2022-02-21 03:07:50,137 INFO L290 TraceCheckUtils]: 3: Hoare triple {57603#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {57603#true} is VALID [2022-02-21 03:07:50,138 INFO L272 TraceCheckUtils]: 4: Hoare triple {57603#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {57603#true} is VALID [2022-02-21 03:07:50,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:07:50,138 INFO L290 TraceCheckUtils]: 6: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:07:50,138 INFO L290 TraceCheckUtils]: 7: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:07:50,138 INFO L290 TraceCheckUtils]: 8: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:50,138 INFO L290 TraceCheckUtils]: 9: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:50,138 INFO L272 TraceCheckUtils]: 10: Hoare triple {57603#true} call #t~ret4 := ackermann(~m - 1, 1); {57603#true} is VALID [2022-02-21 03:07:50,138 INFO L290 TraceCheckUtils]: 11: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:07:50,139 INFO L290 TraceCheckUtils]: 12: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:07:50,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {57603#true} assume !(0 == ~n); {57603#true} is VALID [2022-02-21 03:07:50,139 INFO L290 TraceCheckUtils]: 14: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:50,139 INFO L290 TraceCheckUtils]: 15: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:50,139 INFO L290 TraceCheckUtils]: 16: Hoare triple {57603#true} assume ~n - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:50,139 INFO L290 TraceCheckUtils]: 17: Hoare triple {57603#true} assume ~n - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:50,139 INFO L272 TraceCheckUtils]: 18: Hoare triple {57603#true} call #t~ret5 := ackermann(~m, ~n - 1); {57603#true} is VALID [2022-02-21 03:07:50,140 INFO L290 TraceCheckUtils]: 19: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:07:50,140 INFO L290 TraceCheckUtils]: 20: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:07:50,140 INFO L290 TraceCheckUtils]: 21: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:07:50,140 INFO L290 TraceCheckUtils]: 22: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:07:50,140 INFO L290 TraceCheckUtils]: 23: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:07:50,143 INFO L272 TraceCheckUtils]: 24: Hoare triple {57603#true} call #t~ret4 := ackermann(~m - 1, 1); {57693#(<= 1 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:50,144 INFO L290 TraceCheckUtils]: 25: Hoare triple {57693#(<= 1 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:50,144 INFO L290 TraceCheckUtils]: 26: Hoare triple {57697#(<= 1 ackermann_~n)} assume !(0 == ~m); {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:50,144 INFO L290 TraceCheckUtils]: 27: Hoare triple {57697#(<= 1 ackermann_~n)} assume !(0 == ~n); {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:50,145 INFO L290 TraceCheckUtils]: 28: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~m - 1 <= 2147483647; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:50,145 INFO L290 TraceCheckUtils]: 29: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~m - 1 >= -2147483648; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:50,145 INFO L290 TraceCheckUtils]: 30: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~n - 1 <= 2147483647; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:50,146 INFO L290 TraceCheckUtils]: 31: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~n - 1 >= -2147483648; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:50,146 INFO L272 TraceCheckUtils]: 32: Hoare triple {57697#(<= 1 ackermann_~n)} call #t~ret5 := ackermann(~m, ~n - 1); {57603#true} is VALID [2022-02-21 03:07:50,146 INFO L290 TraceCheckUtils]: 33: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57722#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:50,146 INFO L290 TraceCheckUtils]: 34: Hoare triple {57722#(<= |ackermann_#in~n| ackermann_~n)} assume 0 == ~m; {57722#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:50,147 INFO L290 TraceCheckUtils]: 35: Hoare triple {57722#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n <= 2147483647; {57722#(<= |ackermann_#in~n| ackermann_~n)} is VALID [2022-02-21 03:07:50,147 INFO L290 TraceCheckUtils]: 36: Hoare triple {57722#(<= |ackermann_#in~n| ackermann_~n)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {57732#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:50,147 INFO L290 TraceCheckUtils]: 37: Hoare triple {57732#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} assume true; {57732#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} is VALID [2022-02-21 03:07:50,148 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {57732#(<= (+ |ackermann_#in~n| 1) |ackermann_#res|)} {57697#(<= 1 ackermann_~n)} #62#return; {57739#(<= 1 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:50,149 INFO L290 TraceCheckUtils]: 39: Hoare triple {57739#(<= 1 |ackermann_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {57739#(<= 1 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:07:50,149 INFO L272 TraceCheckUtils]: 40: Hoare triple {57739#(<= 1 |ackermann_#t~ret5|)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {57693#(<= 1 |ackermann_#in~n|)} is VALID [2022-02-21 03:07:50,149 INFO L290 TraceCheckUtils]: 41: Hoare triple {57693#(<= 1 |ackermann_#in~n|)} ~m := #in~m;~n := #in~n; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:50,150 INFO L290 TraceCheckUtils]: 42: Hoare triple {57697#(<= 1 ackermann_~n)} assume !(0 == ~m); {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:07:50,150 INFO L290 TraceCheckUtils]: 43: Hoare triple {57697#(<= 1 ackermann_~n)} assume 0 == ~n; {57604#false} is VALID [2022-02-21 03:07:50,150 INFO L290 TraceCheckUtils]: 44: Hoare triple {57604#false} assume ~m - 1 <= 2147483647; {57604#false} is VALID [2022-02-21 03:07:50,150 INFO L290 TraceCheckUtils]: 45: Hoare triple {57604#false} assume ~m - 1 >= -2147483648; {57604#false} is VALID [2022-02-21 03:07:50,150 INFO L272 TraceCheckUtils]: 46: Hoare triple {57604#false} call #t~ret4 := ackermann(~m - 1, 1); {57604#false} is VALID [2022-02-21 03:07:50,151 INFO L290 TraceCheckUtils]: 47: Hoare triple {57604#false} ~m := #in~m;~n := #in~n; {57604#false} is VALID [2022-02-21 03:07:50,151 INFO L290 TraceCheckUtils]: 48: Hoare triple {57604#false} assume !(0 == ~m); {57604#false} is VALID [2022-02-21 03:07:50,151 INFO L290 TraceCheckUtils]: 49: Hoare triple {57604#false} assume !(0 == ~n); {57604#false} is VALID [2022-02-21 03:07:50,151 INFO L290 TraceCheckUtils]: 50: Hoare triple {57604#false} assume ~m - 1 <= 2147483647; {57604#false} is VALID [2022-02-21 03:07:50,151 INFO L290 TraceCheckUtils]: 51: Hoare triple {57604#false} assume !(~m - 1 >= -2147483648); {57604#false} is VALID [2022-02-21 03:07:50,151 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 54 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-21 03:07:50,151 INFO L328 TraceCheckSpWp]: Computing backward predicates...