./Ultimate.py --spec ../sv-benchmarks/c/properties/no-overflow.prp --file ../sv-benchmarks/c/termination-numeric/Ackermann01-1.c --full-output -ea --architecture 64bit -------------------------------------------------------------------------------- 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/termination-numeric/Ackermann01-1.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Overflow-64bit-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 64bit --witnessprinter.graph.data.programhash 380ed529f726f53285b49ce40e57404dbe066b029b8c3af7ce337366515780a5 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-21 03:06:07,198 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-21 03:06:07,199 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-21 03:06:07,216 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-21 03:06:07,216 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-21 03:06:07,217 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-21 03:06:07,217 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-21 03:06:07,219 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-21 03:06:07,220 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-21 03:06:07,223 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-21 03:06:07,223 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-21 03:06:07,224 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-21 03:06:07,225 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-21 03:06:07,226 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-21 03:06:07,228 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-21 03:06:07,229 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-21 03:06:07,229 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-21 03:06:07,230 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-21 03:06:07,231 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-21 03:06:07,233 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-21 03:06:07,235 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-21 03:06:07,236 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-21 03:06:07,237 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-21 03:06:07,237 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-21 03:06:07,240 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-21 03:06:07,243 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-21 03:06:07,243 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-21 03:06:07,244 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-21 03:06:07,244 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-21 03:06:07,245 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-21 03:06:07,245 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-21 03:06:07,246 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-21 03:06:07,247 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-21 03:06:07,248 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-21 03:06:07,248 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-21 03:06:07,249 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-21 03:06:07,249 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-21 03:06:07,249 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-21 03:06:07,249 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-21 03:06:07,250 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-21 03:06:07,251 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-21 03:06:07,256 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Overflow-64bit-Automizer_Default.epf [2022-02-21 03:06:07,282 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-21 03:06:07,283 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-21 03:06:07,283 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-21 03:06:07,283 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-21 03:06:07,284 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-21 03:06:07,284 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-21 03:06:07,284 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-21 03:06:07,285 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-21 03:06:07,285 INFO L138 SettingsManager]: * Use SBE=true [2022-02-21 03:06:07,285 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-21 03:06:07,285 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-21 03:06:07,286 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-21 03:06:07,286 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-21 03:06:07,286 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-21 03:06:07,286 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-21 03:06:07,286 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-21 03:06:07,286 INFO L138 SettingsManager]: * Check absence of signed integer overflows=true [2022-02-21 03:06:07,287 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-21 03:06:07,287 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-21 03:06:07,287 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-21 03:06:07,287 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-21 03:06:07,287 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-21 03:06:07,287 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-21 03:06:07,287 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-21 03:06:07,288 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-21 03:06:07,288 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-21 03:06:07,288 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-21 03:06:07,289 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-21 03:06:07,289 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-21 03:06:07,289 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-21 03:06:07,289 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 -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 380ed529f726f53285b49ce40e57404dbe066b029b8c3af7ce337366515780a5 [2022-02-21 03:06:07,469 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-21 03:06:07,484 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-21 03:06:07,487 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-21 03:06:07,488 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-21 03:06:07,488 INFO L275 PluginConnector]: CDTParser initialized [2022-02-21 03:06:07,489 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/termination-numeric/Ackermann01-1.c [2022-02-21 03:06:07,551 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0a3ec4f12/390768e60a184206a428794f74baef43/FLAGd5e58a487 [2022-02-21 03:06:07,889 INFO L306 CDTParser]: Found 1 translation units. [2022-02-21 03:06:07,889 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-numeric/Ackermann01-1.c [2022-02-21 03:06:07,896 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0a3ec4f12/390768e60a184206a428794f74baef43/FLAGd5e58a487 [2022-02-21 03:06:07,905 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0a3ec4f12/390768e60a184206a428794f74baef43 [2022-02-21 03:06:07,909 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-21 03:06:07,910 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-21 03:06:07,911 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-21 03:06:07,911 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-21 03:06:07,917 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-21 03:06:07,917 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.02 03:06:07" (1/1) ... [2022-02-21 03:06:07,918 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@18c02d38 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:07, skipping insertion in model container [2022-02-21 03:06:07,919 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.02 03:06:07" (1/1) ... [2022-02-21 03:06:07,923 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-21 03:06:07,931 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-21 03:06:08,070 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/termination-numeric/Ackermann01-1.c[944,957] [2022-02-21 03:06:08,070 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-21 03:06:08,076 INFO L203 MainTranslator]: Completed pre-run [2022-02-21 03:06:08,090 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/termination-numeric/Ackermann01-1.c[944,957] [2022-02-21 03:06:08,095 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-21 03:06:08,106 INFO L208 MainTranslator]: Completed translation [2022-02-21 03:06:08,107 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:08 WrapperNode [2022-02-21 03:06:08,108 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-21 03:06:08,109 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-21 03:06:08,109 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-21 03:06:08,110 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-21 03:06:08,115 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:08" (1/1) ... [2022-02-21 03:06:08,120 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:08" (1/1) ... [2022-02-21 03:06:08,134 INFO L137 Inliner]: procedures = 13, calls = 11, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 32 [2022-02-21 03:06:08,135 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-21 03:06:08,136 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-21 03:06:08,136 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-21 03:06:08,136 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-21 03:06:08,141 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:08" (1/1) ... [2022-02-21 03:06:08,141 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:08" (1/1) ... [2022-02-21 03:06:08,149 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:08" (1/1) ... [2022-02-21 03:06:08,149 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:08" (1/1) ... [2022-02-21 03:06:08,154 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:08" (1/1) ... [2022-02-21 03:06:08,155 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:08" (1/1) ... [2022-02-21 03:06:08,156 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:08" (1/1) ... [2022-02-21 03:06:08,159 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-21 03:06:08,160 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-21 03:06:08,161 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-21 03:06:08,161 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-21 03:06:08,162 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:08" (1/1) ... [2022-02-21 03:06:08,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-21 03:06:08,173 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:08,184 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:08,201 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:08,216 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-21 03:06:08,217 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-21 03:06:08,217 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-21 03:06:08,217 INFO L130 BoogieDeclarations]: Found specification of procedure ackermann [2022-02-21 03:06:08,217 INFO L138 BoogieDeclarations]: Found implementation of procedure ackermann [2022-02-21 03:06:08,217 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-21 03:06:08,262 INFO L234 CfgBuilder]: Building ICFG [2022-02-21 03:06:08,263 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-21 03:06:08,402 INFO L275 CfgBuilder]: Performing block encoding [2022-02-21 03:06:08,406 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-21 03:06:08,407 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-21 03:06:08,408 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.02 03:06:08 BoogieIcfgContainer [2022-02-21 03:06:08,408 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-21 03:06:08,409 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-21 03:06:08,409 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-21 03:06:08,411 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-21 03:06:08,411 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 21.02 03:06:07" (1/3) ... [2022-02-21 03:06:08,412 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@11f2a18e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.02 03:06:08, skipping insertion in model container [2022-02-21 03:06:08,412 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.02 03:06:08" (2/3) ... [2022-02-21 03:06:08,412 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@11f2a18e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.02 03:06:08, skipping insertion in model container [2022-02-21 03:06:08,412 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.02 03:06:08" (3/3) ... [2022-02-21 03:06:08,413 INFO L111 eAbstractionObserver]: Analyzing ICFG Ackermann01-1.c [2022-02-21 03:06:08,416 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-21 03:06:08,416 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 8 error locations. [2022-02-21 03:06:08,447 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-21 03:06:08,452 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:08,455 INFO L340 AbstractCegarLoop]: Starting to check reachability of 8 error locations. [2022-02-21 03:06:08,470 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:08,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-21 03:06:08,473 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:08,474 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:08,474 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:08,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:08,478 INFO L85 PathProgramCache]: Analyzing trace with hash 180762217, now seen corresponding path program 1 times [2022-02-21 03:06:08,483 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:08,484 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [998886143] [2022-02-21 03:06:08,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:08,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:08,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:08,623 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:08,625 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:08,626 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:08,627 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:08,629 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:08,630 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:08,631 INFO L290 TraceCheckUtils]: 6: Hoare triple {45#(<= ackermann_~n 23)} assume 0 == ~m; {45#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:08,632 INFO L290 TraceCheckUtils]: 7: Hoare triple {45#(<= ackermann_~n 23)} assume !(1 + ~n <= 2147483647); {42#false} is VALID [2022-02-21 03:06:08,632 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:08,633 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:08,634 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [998886143] [2022-02-21 03:06:08,634 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [998886143] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:08,634 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:08,635 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:08,637 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [915900327] [2022-02-21 03:06:08,637 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:08,641 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:08,642 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:08,645 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:08,658 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:08,658 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:08,659 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:08,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:08,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:08,688 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:08,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:08,979 INFO L93 Difference]: Finished difference Result 73 states and 84 transitions. [2022-02-21 03:06:08,979 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:06:08,980 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:08,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:08,981 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:08,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 84 transitions. [2022-02-21 03:06:08,986 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:08,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 84 transitions. [2022-02-21 03:06:08,989 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 84 transitions. [2022-02-21 03:06:09,053 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:09,069 INFO L225 Difference]: With dead ends: 73 [2022-02-21 03:06:09,069 INFO L226 Difference]: Without dead ends: 59 [2022-02-21 03:06:09,072 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:09,075 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:09,075 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:09,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-21 03:06:09,131 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 51. [2022-02-21 03:06:09,132 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:09,133 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:09,133 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:09,134 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:09,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:09,144 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-02-21 03:06:09,145 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-02-21 03:06:09,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:09,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:09,147 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:09,147 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:09,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:09,152 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-02-21 03:06:09,152 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-02-21 03:06:09,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:09,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:09,154 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:09,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:09,154 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:09,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 65 transitions. [2022-02-21 03:06:09,160 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 65 transitions. Word has length 8 [2022-02-21 03:06:09,160 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:09,160 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 65 transitions. [2022-02-21 03:06:09,160 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:09,160 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-02-21 03:06:09,161 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-21 03:06:09,161 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:09,161 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:09,161 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-21 03:06:09,161 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:09,162 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:09,162 INFO L85 PathProgramCache]: Analyzing trace with hash 1308666490, now seen corresponding path program 1 times [2022-02-21 03:06:09,162 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:09,162 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1188640458] [2022-02-21 03:06:09,162 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:09,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:09,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:09,202 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:09,203 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:09,203 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:09,204 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:09,205 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:09,205 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:09,206 INFO L290 TraceCheckUtils]: 6: Hoare triple {317#(<= ackermann_~m 3)} assume !(0 == ~m); {317#(<= ackermann_~m 3)} is VALID [2022-02-21 03:06:09,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {317#(<= ackermann_~m 3)} assume 0 == ~n; {317#(<= ackermann_~m 3)} is VALID [2022-02-21 03:06:09,207 INFO L290 TraceCheckUtils]: 8: Hoare triple {317#(<= ackermann_~m 3)} assume !(~m - 1 <= 2147483647); {314#false} is VALID [2022-02-21 03:06:09,207 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:09,207 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:09,207 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1188640458] [2022-02-21 03:06:09,208 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1188640458] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:09,208 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:09,208 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:09,208 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [182135304] [2022-02-21 03:06:09,208 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:09,209 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:09,209 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:09,210 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:09,216 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:09,217 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:09,217 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:09,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:09,217 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:09,218 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:09,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:09,343 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-02-21 03:06:09,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-21 03:06:09,344 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:09,345 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:09,345 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:09,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 36 transitions. [2022-02-21 03:06:09,348 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:09,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 36 transitions. [2022-02-21 03:06:09,350 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 36 transitions. [2022-02-21 03:06:09,377 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:09,379 INFO L225 Difference]: With dead ends: 51 [2022-02-21 03:06:09,379 INFO L226 Difference]: Without dead ends: 49 [2022-02-21 03:06:09,380 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:09,381 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:09,381 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:09,382 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-21 03:06:09,399 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 49. [2022-02-21 03:06:09,400 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:09,400 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:09,401 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:09,401 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:09,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:09,404 INFO L93 Difference]: Finished difference Result 49 states and 61 transitions. [2022-02-21 03:06:09,404 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-02-21 03:06:09,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:09,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:09,405 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:09,406 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:09,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:09,408 INFO L93 Difference]: Finished difference Result 49 states and 61 transitions. [2022-02-21 03:06:09,408 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-02-21 03:06:09,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:09,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:09,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:09,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:09,410 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:09,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 61 transitions. [2022-02-21 03:06:09,412 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 61 transitions. Word has length 9 [2022-02-21 03:06:09,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:09,412 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 61 transitions. [2022-02-21 03:06:09,412 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:09,412 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-02-21 03:06:09,413 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-21 03:06:09,413 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:09,413 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:09,413 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-21 03:06:09,413 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:09,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:09,414 INFO L85 PathProgramCache]: Analyzing trace with hash 1308661493, now seen corresponding path program 1 times [2022-02-21 03:06:09,414 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:09,414 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [198532891] [2022-02-21 03:06:09,415 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:09,415 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:09,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:09,456 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:09,456 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:09,457 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:09,457 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:09,458 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:09,458 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:09,459 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:09,459 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:09,460 INFO L290 TraceCheckUtils]: 8: Hoare triple {542#(<= 0 (+ ackermann_~n 2147483648))} assume !(1 + ~n >= -2147483648); {539#false} is VALID [2022-02-21 03:06:09,461 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:09,461 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:09,461 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [198532891] [2022-02-21 03:06:09,461 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [198532891] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:09,461 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:09,461 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:09,461 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1336543431] [2022-02-21 03:06:09,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:09,462 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:09,462 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:09,462 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:09,470 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:09,470 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:09,470 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:09,471 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:09,471 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:09,471 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:09,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:09,653 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2022-02-21 03:06:09,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:06:09,653 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:09,653 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:09,654 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:09,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-02-21 03:06:09,655 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:09,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-02-21 03:06:09,657 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 66 transitions. [2022-02-21 03:06:09,701 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:09,703 INFO L225 Difference]: With dead ends: 76 [2022-02-21 03:06:09,703 INFO L226 Difference]: Without dead ends: 75 [2022-02-21 03:06:09,703 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:09,704 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:09,704 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:09,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-02-21 03:06:09,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 68. [2022-02-21 03:06:09,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:09,740 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:09,740 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:09,740 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:09,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:09,743 INFO L93 Difference]: Finished difference Result 75 states and 95 transitions. [2022-02-21 03:06:09,743 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 95 transitions. [2022-02-21 03:06:09,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:09,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:09,744 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:09,745 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:09,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:09,747 INFO L93 Difference]: Finished difference Result 75 states and 95 transitions. [2022-02-21 03:06:09,747 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 95 transitions. [2022-02-21 03:06:09,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:09,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:09,748 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:09,748 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:09,748 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:09,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 87 transitions. [2022-02-21 03:06:09,750 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 87 transitions. Word has length 9 [2022-02-21 03:06:09,750 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:09,751 INFO L470 AbstractCegarLoop]: Abstraction has 68 states and 87 transitions. [2022-02-21 03:06:09,751 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:09,751 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 87 transitions. [2022-02-21 03:06:09,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-21 03:06:09,751 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:09,751 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:09,751 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-21 03:06:09,751 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:09,752 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:09,752 INFO L85 PathProgramCache]: Analyzing trace with hash 1913955596, now seen corresponding path program 1 times [2022-02-21 03:06:09,752 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:09,752 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [469912043] [2022-02-21 03:06:09,752 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:09,752 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:09,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:09,783 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:09,784 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:09,784 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:09,784 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:09,785 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:09,785 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:09,786 INFO L290 TraceCheckUtils]: 6: Hoare triple {871#(<= 0 ackermann_~m)} assume !(0 == ~m); {871#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:09,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {871#(<= 0 ackermann_~m)} assume 0 == ~n; {871#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:09,786 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:09,787 INFO L290 TraceCheckUtils]: 9: Hoare triple {871#(<= 0 ackermann_~m)} assume !(~m - 1 >= -2147483648); {868#false} is VALID [2022-02-21 03:06:09,787 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:09,787 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:09,787 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [469912043] [2022-02-21 03:06:09,787 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [469912043] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:09,787 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:09,787 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:09,788 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [506788559] [2022-02-21 03:06:09,788 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:09,788 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:09,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:09,788 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:09,794 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:09,794 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:09,794 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:09,795 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:09,795 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:09,795 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:09,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:09,993 INFO L93 Difference]: Finished difference Result 116 states and 156 transitions. [2022-02-21 03:06:09,993 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:06:09,994 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:09,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:09,994 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:09,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2022-02-21 03:06:09,995 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:09,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2022-02-21 03:06:09,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2022-02-21 03:06:10,054 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:10,057 INFO L225 Difference]: With dead ends: 116 [2022-02-21 03:06:10,057 INFO L226 Difference]: Without dead ends: 108 [2022-02-21 03:06:10,057 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:10,058 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:10,059 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:10,059 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-02-21 03:06:10,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 100. [2022-02-21 03:06:10,108 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:10,108 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:10,109 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:10,109 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:10,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:10,113 INFO L93 Difference]: Finished difference Result 108 states and 142 transitions. [2022-02-21 03:06:10,113 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 142 transitions. [2022-02-21 03:06:10,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:10,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:10,114 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:10,114 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:10,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:10,118 INFO L93 Difference]: Finished difference Result 108 states and 142 transitions. [2022-02-21 03:06:10,118 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 142 transitions. [2022-02-21 03:06:10,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:10,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:10,119 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:10,119 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:10,119 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:10,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 128 transitions. [2022-02-21 03:06:10,122 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 128 transitions. Word has length 10 [2022-02-21 03:06:10,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:10,122 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 128 transitions. [2022-02-21 03:06:10,122 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:10,122 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 128 transitions. [2022-02-21 03:06:10,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-21 03:06:10,123 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:10,123 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:10,123 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-21 03:06:10,123 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:10,123 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:10,123 INFO L85 PathProgramCache]: Analyzing trace with hash 1072007509, now seen corresponding path program 1 times [2022-02-21 03:06:10,124 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:10,124 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [123278947] [2022-02-21 03:06:10,124 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:10,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:10,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:10,158 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:10,158 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:10,158 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:10,159 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:10,159 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:10,160 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:10,160 INFO L290 TraceCheckUtils]: 6: Hoare triple {1354#(<= 0 ackermann_~n)} assume !(0 == ~m); {1354#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:10,160 INFO L290 TraceCheckUtils]: 7: Hoare triple {1354#(<= 0 ackermann_~n)} assume !(0 == ~n); {1354#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:10,161 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:10,161 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:10,161 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:10,162 INFO L290 TraceCheckUtils]: 11: Hoare triple {1354#(<= 0 ackermann_~n)} assume !(~n - 1 >= -2147483648); {1351#false} is VALID [2022-02-21 03:06:10,162 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:10,162 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:10,162 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [123278947] [2022-02-21 03:06:10,162 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [123278947] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:10,162 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:10,162 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:10,162 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [229494487] [2022-02-21 03:06:10,162 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:10,163 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:10,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:10,163 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:10,169 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:10,169 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:10,170 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:10,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:10,170 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-21 03:06:10,170 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:10,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:10,344 INFO L93 Difference]: Finished difference Result 109 states and 140 transitions. [2022-02-21 03:06:10,345 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:06:10,345 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:10,345 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:10,345 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:10,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-02-21 03:06:10,346 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:10,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-02-21 03:06:10,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2022-02-21 03:06:10,387 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:10,389 INFO L225 Difference]: With dead ends: 109 [2022-02-21 03:06:10,389 INFO L226 Difference]: Without dead ends: 108 [2022-02-21 03:06:10,390 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:10,391 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:10,391 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:10,391 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-02-21 03:06:10,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 100. [2022-02-21 03:06:10,446 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:10,447 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:10,447 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:10,448 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:10,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:10,451 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-02-21 03:06:10,451 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-02-21 03:06:10,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:10,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:10,452 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:10,452 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:10,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:10,455 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-02-21 03:06:10,456 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-02-21 03:06:10,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:10,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:10,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:10,457 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:10,457 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:10,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 126 transitions. [2022-02-21 03:06:10,459 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 126 transitions. Word has length 12 [2022-02-21 03:06:10,460 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:10,460 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 126 transitions. [2022-02-21 03:06:10,460 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:10,460 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 126 transitions. [2022-02-21 03:06:10,460 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-21 03:06:10,460 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:10,461 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:10,461 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-21 03:06:10,461 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:10,461 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:10,461 INFO L85 PathProgramCache]: Analyzing trace with hash 219392943, now seen corresponding path program 1 times [2022-02-21 03:06:10,462 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:10,462 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [562761624] [2022-02-21 03:06:10,462 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:10,462 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:10,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:10,500 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:10,500 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:10,500 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:10,500 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:10,501 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:10,501 INFO L290 TraceCheckUtils]: 5: Hoare triple {1826#true} ~m := #in~m;~n := #in~n; {1826#true} is VALID [2022-02-21 03:06:10,501 INFO L290 TraceCheckUtils]: 6: Hoare triple {1826#true} assume !(0 == ~m); {1826#true} is VALID [2022-02-21 03:06:10,501 INFO L290 TraceCheckUtils]: 7: Hoare triple {1826#true} assume 0 == ~n; {1826#true} is VALID [2022-02-21 03:06:10,501 INFO L290 TraceCheckUtils]: 8: Hoare triple {1826#true} assume ~m - 1 <= 2147483647; {1826#true} is VALID [2022-02-21 03:06:10,501 INFO L290 TraceCheckUtils]: 9: Hoare triple {1826#true} assume ~m - 1 >= -2147483648; {1826#true} is VALID [2022-02-21 03:06:10,502 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:10,503 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:10,503 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:10,505 INFO L290 TraceCheckUtils]: 13: Hoare triple {1829#(not (= ackermann_~n 0))} assume 0 == ~n; {1827#false} is VALID [2022-02-21 03:06:10,506 INFO L290 TraceCheckUtils]: 14: Hoare triple {1827#false} assume ~m - 1 <= 2147483647; {1827#false} is VALID [2022-02-21 03:06:10,506 INFO L290 TraceCheckUtils]: 15: Hoare triple {1827#false} assume !(~m - 1 >= -2147483648); {1827#false} is VALID [2022-02-21 03:06:10,506 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:10,506 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:10,507 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [562761624] [2022-02-21 03:06:10,507 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [562761624] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:10,507 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-21 03:06:10,507 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-21 03:06:10,507 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1408363012] [2022-02-21 03:06:10,507 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:10,508 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:10,508 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:10,508 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:10,516 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:10,517 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-21 03:06:10,517 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:10,517 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-21 03:06:10,517 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-21 03:06:10,517 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:10,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:10,662 INFO L93 Difference]: Finished difference Result 174 states and 233 transitions. [2022-02-21 03:06:10,662 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-21 03:06:10,662 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:10,663 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:10,663 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:10,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 92 transitions. [2022-02-21 03:06:10,664 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:10,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 92 transitions. [2022-02-21 03:06:10,666 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 92 transitions. [2022-02-21 03:06:10,723 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:10,724 INFO L225 Difference]: With dead ends: 174 [2022-02-21 03:06:10,725 INFO L226 Difference]: Without dead ends: 103 [2022-02-21 03:06:10,726 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:10,726 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:10,727 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:10,727 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-02-21 03:06:10,787 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 96. [2022-02-21 03:06:10,787 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:10,787 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:10,788 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:10,788 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:10,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:10,791 INFO L93 Difference]: Finished difference Result 103 states and 131 transitions. [2022-02-21 03:06:10,791 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 131 transitions. [2022-02-21 03:06:10,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:10,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:10,792 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:10,792 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:10,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:10,795 INFO L93 Difference]: Finished difference Result 103 states and 131 transitions. [2022-02-21 03:06:10,795 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 131 transitions. [2022-02-21 03:06:10,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:10,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:10,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:10,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:10,796 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:10,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 119 transitions. [2022-02-21 03:06:10,799 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 119 transitions. Word has length 16 [2022-02-21 03:06:10,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:10,799 INFO L470 AbstractCegarLoop]: Abstraction has 96 states and 119 transitions. [2022-02-21 03:06:10,800 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:10,800 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 119 transitions. [2022-02-21 03:06:10,800 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-21 03:06:10,800 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:10,800 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:10,800 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-21 03:06:10,801 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:10,801 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:10,801 INFO L85 PathProgramCache]: Analyzing trace with hash 219399894, now seen corresponding path program 1 times [2022-02-21 03:06:10,801 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:10,801 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1313204872] [2022-02-21 03:06:10,802 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:10,802 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:10,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:10,843 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:10,844 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:10,844 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:10,845 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:10,845 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:10,845 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:10,846 INFO L290 TraceCheckUtils]: 6: Hoare triple {2369#(<= 0 ackermann_~m)} assume !(0 == ~m); {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:10,846 INFO L290 TraceCheckUtils]: 7: Hoare triple {2369#(<= 0 ackermann_~m)} assume 0 == ~n; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:10,846 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:10,847 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:10,847 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:10,848 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:10,848 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:10,849 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:10,849 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:10,849 INFO L290 TraceCheckUtils]: 15: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume !(~m - 1 >= -2147483648); {2366#false} is VALID [2022-02-21 03:06:10,850 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:10,850 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:10,850 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1313204872] [2022-02-21 03:06:10,850 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1313204872] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:10,850 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [282742910] [2022-02-21 03:06:10,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:10,851 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:10,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:10,852 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:10,861 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:10,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:10,911 INFO L263 TraceCheckSpWp]: Trace formula consists of 64 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-21 03:06:10,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:10,921 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:11,050 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:11,051 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:11,051 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:11,052 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:11,052 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:11,053 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:11,053 INFO L290 TraceCheckUtils]: 6: Hoare triple {2369#(<= 0 ackermann_~m)} assume !(0 == ~m); {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:11,053 INFO L290 TraceCheckUtils]: 7: Hoare triple {2369#(<= 0 ackermann_~m)} assume 0 == ~n; {2369#(<= 0 ackermann_~m)} is VALID [2022-02-21 03:06:11,054 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:11,054 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:11,055 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:11,055 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:11,055 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:11,056 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:11,056 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:11,056 INFO L290 TraceCheckUtils]: 15: Hoare triple {2371#(<= 0 (+ ackermann_~m 1))} assume !(~m - 1 >= -2147483648); {2366#false} is VALID [2022-02-21 03:06:11,057 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:11,057 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:11,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {2420#(<= 0 (+ ackermann_~m 2147483647))} assume !(~m - 1 >= -2147483648); {2366#false} is VALID [2022-02-21 03:06:11,173 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:11,174 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:11,174 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:11,175 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:11,175 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:11,176 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:11,176 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:11,176 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:11,177 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:11,177 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:11,178 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:11,178 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:11,178 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:11,179 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:11,179 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:11,179 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:11,179 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [282742910] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:06:11,179 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:06:11,180 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 11 [2022-02-21 03:06:11,180 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1350261969] [2022-02-21 03:06:11,180 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:06:11,180 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:11,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:11,181 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:11,197 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:11,197 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-21 03:06:11,198 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:11,198 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-21 03:06:11,198 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-02-21 03:06:11,198 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:11,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:11,938 INFO L93 Difference]: Finished difference Result 274 states and 356 transitions. [2022-02-21 03:06:11,938 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-21 03:06:11,939 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:11,939 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:11,939 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:11,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 164 transitions. [2022-02-21 03:06:11,942 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:11,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 164 transitions. [2022-02-21 03:06:11,944 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 164 transitions. [2022-02-21 03:06:12,054 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:12,059 INFO L225 Difference]: With dead ends: 274 [2022-02-21 03:06:12,059 INFO L226 Difference]: Without dead ends: 272 [2022-02-21 03:06:12,060 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:12,060 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.2s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:12,061 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.2s Time] [2022-02-21 03:06:12,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-02-21 03:06:12,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 236. [2022-02-21 03:06:12,190 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:12,191 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:12,191 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:12,192 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:12,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:12,199 INFO L93 Difference]: Finished difference Result 272 states and 341 transitions. [2022-02-21 03:06:12,199 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 341 transitions. [2022-02-21 03:06:12,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:12,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:12,201 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:12,201 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:12,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:12,209 INFO L93 Difference]: Finished difference Result 272 states and 341 transitions. [2022-02-21 03:06:12,209 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 341 transitions. [2022-02-21 03:06:12,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:12,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:12,210 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:12,210 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:12,211 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:12,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 236 states to 236 states and 299 transitions. [2022-02-21 03:06:12,217 INFO L78 Accepts]: Start accepts. Automaton has 236 states and 299 transitions. Word has length 16 [2022-02-21 03:06:12,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:12,217 INFO L470 AbstractCegarLoop]: Abstraction has 236 states and 299 transitions. [2022-02-21 03:06:12,217 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:12,217 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 299 transitions. [2022-02-21 03:06:12,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-21 03:06:12,217 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:12,218 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:12,237 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:12,431 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:12,432 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:12,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:12,432 INFO L85 PathProgramCache]: Analyzing trace with hash 1162887243, now seen corresponding path program 1 times [2022-02-21 03:06:12,432 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:12,432 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1243624804] [2022-02-21 03:06:12,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:12,432 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:12,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:12,503 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:06:12,503 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:06:12,504 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:06:12,505 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:06:12,506 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:06:12,507 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:06:12,507 INFO L290 TraceCheckUtils]: 6: Hoare triple {3639#(<= 0 ackermann_~n)} assume !(0 == ~m); {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:12,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {3639#(<= 0 ackermann_~n)} assume !(0 == ~n); {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:12,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {3639#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:12,519 INFO L290 TraceCheckUtils]: 9: Hoare triple {3639#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:12,520 INFO L290 TraceCheckUtils]: 10: Hoare triple {3639#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:12,520 INFO L290 TraceCheckUtils]: 11: Hoare triple {3639#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {3639#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:12,521 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:06:12,522 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:06:12,522 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:06:12,524 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:06:12,525 INFO L290 TraceCheckUtils]: 16: Hoare triple {3641#(<= 0 (+ ackermann_~n 1))} assume !(1 + ~n >= -2147483648); {3636#false} is VALID [2022-02-21 03:06:12,525 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:06:12,526 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:12,526 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1243624804] [2022-02-21 03:06:12,526 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1243624804] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:12,526 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1993926659] [2022-02-21 03:06:12,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:12,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:12,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:12,529 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:06:12,530 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:06:12,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:12,560 INFO L263 TraceCheckSpWp]: Trace formula consists of 65 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-21 03:06:12,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:12,566 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:12,657 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:06:12,657 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:06:12,657 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:06:12,657 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:06:12,658 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:06:12,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {3635#true} ~m := #in~m;~n := #in~n; {3635#true} is VALID [2022-02-21 03:06:12,658 INFO L290 TraceCheckUtils]: 6: Hoare triple {3635#true} assume !(0 == ~m); {3635#true} is VALID [2022-02-21 03:06:12,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {3635#true} assume !(0 == ~n); {3635#true} is VALID [2022-02-21 03:06:12,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {3635#true} assume ~m - 1 <= 2147483647; {3635#true} is VALID [2022-02-21 03:06:12,658 INFO L290 TraceCheckUtils]: 9: Hoare triple {3635#true} assume ~m - 1 >= -2147483648; {3635#true} is VALID [2022-02-21 03:06:12,658 INFO L290 TraceCheckUtils]: 10: Hoare triple {3635#true} assume ~n - 1 <= 2147483647; {3635#true} is VALID [2022-02-21 03:06:12,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {3635#true} assume ~n - 1 >= -2147483648; {3678#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:06:12,660 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:06:12,660 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:06:12,661 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:06:12,661 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:06:12,661 INFO L290 TraceCheckUtils]: 16: Hoare triple {3686#(<= 0 (+ ackermann_~n 2147483648))} assume !(1 + ~n >= -2147483648); {3636#false} is VALID [2022-02-21 03:06:12,662 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:06:12,662 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-21 03:06:12,662 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1993926659] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-21 03:06:12,662 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-21 03:06:12,662 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 9 [2022-02-21 03:06:12,662 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1827257267] [2022-02-21 03:06:12,662 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:12,663 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:06:12,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:12,663 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:06:12,674 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:06:12,674 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-21 03:06:12,674 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:12,675 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-21 03:06:12,675 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-02-21 03:06:12,675 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:06:13,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:13,012 INFO L93 Difference]: Finished difference Result 328 states and 437 transitions. [2022-02-21 03:06:13,013 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-21 03:06:13,013 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:06:13,013 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:13,013 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:06:13,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-02-21 03:06:13,014 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:06:13,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-02-21 03:06:13,016 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-02-21 03:06:13,057 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:06:13,064 INFO L225 Difference]: With dead ends: 328 [2022-02-21 03:06:13,064 INFO L226 Difference]: Without dead ends: 327 [2022-02-21 03:06:13,064 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:06:13,068 INFO L933 BasicCegarLoop]: 42 mSDtfsCounter, 40 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:13,068 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.0s Time] [2022-02-21 03:06:13,069 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 327 states. [2022-02-21 03:06:13,246 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 327 to 293. [2022-02-21 03:06:13,247 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:13,251 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:06:13,253 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:06:13,254 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:06:13,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:13,264 INFO L93 Difference]: Finished difference Result 327 states and 430 transitions. [2022-02-21 03:06:13,264 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 430 transitions. [2022-02-21 03:06:13,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:13,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:13,265 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:06:13,266 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:06:13,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:13,286 INFO L93 Difference]: Finished difference Result 327 states and 430 transitions. [2022-02-21 03:06:13,286 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 430 transitions. [2022-02-21 03:06:13,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:13,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:13,287 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:13,287 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:13,289 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:06:13,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 293 states to 293 states and 373 transitions. [2022-02-21 03:06:13,296 INFO L78 Accepts]: Start accepts. Automaton has 293 states and 373 transitions. Word has length 17 [2022-02-21 03:06:13,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:13,297 INFO L470 AbstractCegarLoop]: Abstraction has 293 states and 373 transitions. [2022-02-21 03:06:13,297 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:06:13,297 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 373 transitions. [2022-02-21 03:06:13,297 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-21 03:06:13,297 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:13,297 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:13,318 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-21 03:06:13,511 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:06:13,512 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:06:13,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:13,512 INFO L85 PathProgramCache]: Analyzing trace with hash 523262015, now seen corresponding path program 1 times [2022-02-21 03:06:13,512 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:13,512 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [54835122] [2022-02-21 03:06:13,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:13,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:13,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:13,560 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:06:13,560 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:06:13,560 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:06:13,561 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:06:13,561 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:06:13,562 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:06:13,562 INFO L290 TraceCheckUtils]: 6: Hoare triple {5101#(<= 0 ackermann_~n)} assume !(0 == ~m); {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {5101#(<= 0 ackermann_~n)} assume !(0 == ~n); {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,563 INFO L290 TraceCheckUtils]: 8: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,563 INFO L290 TraceCheckUtils]: 10: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,564 INFO L290 TraceCheckUtils]: 11: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,564 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:06:13,565 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:06:13,565 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:06:13,565 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:06:13,565 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:06:13,566 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:06:13,566 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:06:13,566 INFO L290 TraceCheckUtils]: 19: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume !(~n - 1 >= -2147483648); {5098#false} is VALID [2022-02-21 03:06:13,567 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:06:13,567 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:13,567 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [54835122] [2022-02-21 03:06:13,567 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [54835122] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:13,567 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1546325978] [2022-02-21 03:06:13,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:13,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:13,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:13,569 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:06:13,570 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:06:13,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:13,609 INFO L263 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-21 03:06:13,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:13,617 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:13,698 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:06:13,698 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:06:13,698 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:06:13,699 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:06:13,699 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:06:13,700 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:06:13,700 INFO L290 TraceCheckUtils]: 6: Hoare triple {5101#(<= 0 ackermann_~n)} assume !(0 == ~m); {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,700 INFO L290 TraceCheckUtils]: 7: Hoare triple {5101#(<= 0 ackermann_~n)} assume !(0 == ~n); {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,700 INFO L290 TraceCheckUtils]: 8: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,701 INFO L290 TraceCheckUtils]: 10: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,701 INFO L290 TraceCheckUtils]: 11: Hoare triple {5101#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {5101#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:13,702 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:06:13,702 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:06:13,702 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:06:13,703 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:06:13,703 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:06:13,703 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:06:13,704 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:06:13,705 INFO L290 TraceCheckUtils]: 19: Hoare triple {5103#(<= 0 (+ ackermann_~n 1))} assume !(~n - 1 >= -2147483648); {5098#false} is VALID [2022-02-21 03:06:13,706 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:06:13,706 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:13,807 INFO L290 TraceCheckUtils]: 19: Hoare triple {5164#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {5098#false} is VALID [2022-02-21 03:06:13,807 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:06:13,807 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:06:13,808 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:06:13,808 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:06:13,808 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:06:13,809 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:06:13,809 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:06:13,810 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:06:13,810 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:06:13,810 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:06:13,811 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:06:13,811 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:06:13,811 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:06:13,811 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:06:13,812 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:06:13,812 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:06:13,812 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:06:13,812 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:06:13,813 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:06:13,813 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:06:13,813 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1546325978] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:06:13,813 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:06:13,813 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 11 [2022-02-21 03:06:13,813 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [562077072] [2022-02-21 03:06:13,813 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:06:13,813 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:06:13,814 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:13,814 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:06:13,836 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:06:13,836 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-21 03:06:13,836 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:13,837 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-21 03:06:13,837 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-02-21 03:06:13,837 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:06:14,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:14,724 INFO L93 Difference]: Finished difference Result 591 states and 792 transitions. [2022-02-21 03:06:14,724 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-21 03:06:14,724 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:06:14,724 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:14,724 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:06:14,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 150 transitions. [2022-02-21 03:06:14,726 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:06:14,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 150 transitions. [2022-02-21 03:06:14,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 150 transitions. [2022-02-21 03:06:14,825 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:06:14,841 INFO L225 Difference]: With dead ends: 591 [2022-02-21 03:06:14,842 INFO L226 Difference]: Without dead ends: 590 [2022-02-21 03:06:14,842 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:06:14,843 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:06:14,843 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:06:14,843 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 590 states. [2022-02-21 03:06:15,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 590 to 521. [2022-02-21 03:06:15,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:15,223 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:06:15,224 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:06:15,224 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:06:15,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:15,241 INFO L93 Difference]: Finished difference Result 590 states and 780 transitions. [2022-02-21 03:06:15,242 INFO L276 IsEmpty]: Start isEmpty. Operand 590 states and 780 transitions. [2022-02-21 03:06:15,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:15,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:15,244 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:06:15,245 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:06:15,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:15,263 INFO L93 Difference]: Finished difference Result 590 states and 780 transitions. [2022-02-21 03:06:15,263 INFO L276 IsEmpty]: Start isEmpty. Operand 590 states and 780 transitions. [2022-02-21 03:06:15,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:15,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:15,265 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:15,265 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:15,266 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:06:15,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 521 states to 521 states and 649 transitions. [2022-02-21 03:06:15,280 INFO L78 Accepts]: Start accepts. Automaton has 521 states and 649 transitions. Word has length 20 [2022-02-21 03:06:15,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:15,280 INFO L470 AbstractCegarLoop]: Abstraction has 521 states and 649 transitions. [2022-02-21 03:06:15,280 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:06:15,280 INFO L276 IsEmpty]: Start isEmpty. Operand 521 states and 649 transitions. [2022-02-21 03:06:15,281 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-21 03:06:15,281 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:15,281 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:06:15,300 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:06:15,495 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:06:15,495 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:06:15,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:15,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1106403678, now seen corresponding path program 1 times [2022-02-21 03:06:15,496 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:15,496 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [476165501] [2022-02-21 03:06:15,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:15,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:15,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:15,539 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:06:15,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:15,551 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:06:15,552 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:06:15,552 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:06:15,552 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:06:15,553 INFO L290 TraceCheckUtils]: 4: Hoare triple {7761#(= |ackermann_#in~m| 0)} assume true; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:06:15,553 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:06:15,553 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:06:15,554 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:06:15,554 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:06:15,555 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:06:15,555 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:06:15,555 INFO L290 TraceCheckUtils]: 5: Hoare triple {7749#true} ~m := #in~m;~n := #in~n; {7749#true} is VALID [2022-02-21 03:06:15,555 INFO L290 TraceCheckUtils]: 6: Hoare triple {7749#true} assume !(0 == ~m); {7749#true} is VALID [2022-02-21 03:06:15,555 INFO L290 TraceCheckUtils]: 7: Hoare triple {7749#true} assume !(0 == ~n); {7749#true} is VALID [2022-02-21 03:06:15,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {7749#true} assume ~m - 1 <= 2147483647; {7749#true} is VALID [2022-02-21 03:06:15,556 INFO L290 TraceCheckUtils]: 9: Hoare triple {7749#true} assume ~m - 1 >= -2147483648; {7749#true} is VALID [2022-02-21 03:06:15,556 INFO L290 TraceCheckUtils]: 10: Hoare triple {7749#true} assume ~n - 1 <= 2147483647; {7749#true} is VALID [2022-02-21 03:06:15,556 INFO L290 TraceCheckUtils]: 11: Hoare triple {7749#true} assume ~n - 1 >= -2147483648; {7749#true} is VALID [2022-02-21 03:06:15,556 INFO L272 TraceCheckUtils]: 12: Hoare triple {7749#true} call #t~ret5 := ackermann(~m, ~n - 1); {7749#true} is VALID [2022-02-21 03:06:15,557 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:06:15,557 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:06:15,557 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:06:15,558 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:06:15,558 INFO L290 TraceCheckUtils]: 17: Hoare triple {7761#(= |ackermann_#in~m| 0)} assume true; {7761#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:06:15,558 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:06:15,559 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:06:15,559 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:06:15,560 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:06:15,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {7759#(<= (+ ackermann_~m 1) 0)} assume 0 == ~m; {7750#false} is VALID [2022-02-21 03:06:15,560 INFO L290 TraceCheckUtils]: 23: Hoare triple {7750#false} assume !(1 + ~n <= 2147483647); {7750#false} is VALID [2022-02-21 03:06:15,560 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:06:15,561 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:15,561 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [476165501] [2022-02-21 03:06:15,561 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [476165501] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:15,561 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1225244191] [2022-02-21 03:06:15,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:15,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:15,561 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:15,562 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:06:15,563 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:06:15,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:15,593 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-21 03:06:15,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:15,601 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:15,789 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:06:15,790 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:06:15,790 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:06:15,790 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:06:15,791 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:06:15,791 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:06:15,791 INFO L290 TraceCheckUtils]: 6: Hoare triple {7782#(<= ackermann_~n 23)} assume !(0 == ~m); {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:15,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {7782#(<= ackermann_~n 23)} assume !(0 == ~n); {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:15,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {7782#(<= ackermann_~n 23)} assume ~m - 1 <= 2147483647; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:15,801 INFO L290 TraceCheckUtils]: 9: Hoare triple {7782#(<= ackermann_~n 23)} assume ~m - 1 >= -2147483648; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:15,804 INFO L290 TraceCheckUtils]: 10: Hoare triple {7782#(<= ackermann_~n 23)} assume ~n - 1 <= 2147483647; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:15,805 INFO L290 TraceCheckUtils]: 11: Hoare triple {7782#(<= ackermann_~n 23)} assume ~n - 1 >= -2147483648; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:15,805 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:06:15,806 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:06:15,806 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:06:15,807 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:06:15,808 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:06:15,808 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:06:15,809 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:06:15,811 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:06:15,812 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:06:15,812 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:06:15,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {7782#(<= ackermann_~n 23)} assume 0 == ~m; {7782#(<= ackermann_~n 23)} is VALID [2022-02-21 03:06:15,813 INFO L290 TraceCheckUtils]: 23: Hoare triple {7782#(<= ackermann_~n 23)} assume !(1 + ~n <= 2147483647); {7750#false} is VALID [2022-02-21 03:06:15,813 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:06:15,813 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:16,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume !(1 + ~n <= 2147483647); {7750#false} is VALID [2022-02-21 03:06:16,141 INFO L290 TraceCheckUtils]: 22: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume 0 == ~m; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:06:16,142 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:06:16,142 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:06:16,142 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:06:16,143 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:06:16,144 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:06:16,144 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:06:16,145 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:06:16,145 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:06:16,145 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:06:16,145 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:06:16,146 INFO L290 TraceCheckUtils]: 11: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume ~n - 1 >= -2147483648; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:06:16,146 INFO L290 TraceCheckUtils]: 10: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume ~n - 1 <= 2147483647; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:06:16,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume ~m - 1 >= -2147483648; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:06:16,147 INFO L290 TraceCheckUtils]: 8: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume ~m - 1 <= 2147483647; {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:06:16,147 INFO L290 TraceCheckUtils]: 7: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume !(0 == ~n); {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:06:16,147 INFO L290 TraceCheckUtils]: 6: Hoare triple {7840#(<= ackermann_~n 2147483646)} assume !(0 == ~m); {7840#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:06:16,148 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:06:16,148 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:06:16,149 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:06:16,149 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:06:16,149 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:06:16,149 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:06:16,149 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:06:16,150 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1225244191] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:06:16,150 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:06:16,150 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 19 [2022-02-21 03:06:16,150 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [404166575] [2022-02-21 03:06:16,150 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:06:16,151 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:06:16,151 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:16,151 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:06:16,197 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:06:16,197 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-21 03:06:16,197 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:16,198 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-21 03:06:16,198 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2022-02-21 03:06:16,198 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:06:18,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:18,451 INFO L93 Difference]: Finished difference Result 1286 states and 1798 transitions. [2022-02-21 03:06:18,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-02-21 03:06:18,452 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:06:18,452 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:18,452 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:06:18,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-02-21 03:06:18,455 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:06:18,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-02-21 03:06:18,456 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 150 transitions. [2022-02-21 03:06:18,572 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:06:18,608 INFO L225 Difference]: With dead ends: 1286 [2022-02-21 03:06:18,608 INFO L226 Difference]: Without dead ends: 895 [2022-02-21 03:06:18,610 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:06:18,611 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:06:18,611 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:06:18,612 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 895 states. [2022-02-21 03:06:19,161 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 895 to 701. [2022-02-21 03:06:19,161 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:19,162 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:06:19,163 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:06:19,164 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:06:19,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:19,194 INFO L93 Difference]: Finished difference Result 895 states and 1139 transitions. [2022-02-21 03:06:19,194 INFO L276 IsEmpty]: Start isEmpty. Operand 895 states and 1139 transitions. [2022-02-21 03:06:19,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:19,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:19,198 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:06:19,200 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:06:19,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:19,230 INFO L93 Difference]: Finished difference Result 895 states and 1139 transitions. [2022-02-21 03:06:19,230 INFO L276 IsEmpty]: Start isEmpty. Operand 895 states and 1139 transitions. [2022-02-21 03:06:19,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:19,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:19,234 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:19,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:19,235 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:06:19,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 701 states to 701 states and 862 transitions. [2022-02-21 03:06:19,257 INFO L78 Accepts]: Start accepts. Automaton has 701 states and 862 transitions. Word has length 24 [2022-02-21 03:06:19,258 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:19,258 INFO L470 AbstractCegarLoop]: Abstraction has 701 states and 862 transitions. [2022-02-21 03:06:19,258 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:06:19,258 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 862 transitions. [2022-02-21 03:06:19,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-21 03:06:19,259 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:19,259 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:06:19,278 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:06:19,475 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:06:19,476 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:06:19,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:19,476 INFO L85 PathProgramCache]: Analyzing trace with hash 1583952330, now seen corresponding path program 1 times [2022-02-21 03:06:19,476 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:19,476 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1042165462] [2022-02-21 03:06:19,476 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:19,476 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:19,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:19,536 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:06:19,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:19,573 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:06:19,574 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:06:19,574 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:06:19,574 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:06:19,575 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:06:19,575 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:06:19,576 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:06:19,576 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:06:19,576 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:06:19,576 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:06:19,577 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:06:19,577 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:06:19,577 INFO L290 TraceCheckUtils]: 6: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(0 == ~m); {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(0 == ~n); {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,578 INFO L290 TraceCheckUtils]: 9: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,579 INFO L290 TraceCheckUtils]: 10: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,579 INFO L290 TraceCheckUtils]: 11: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,579 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:06:19,579 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:06:19,580 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:06:19,580 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:06:19,580 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:06:19,581 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:06:19,581 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:06:19,582 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:06:19,582 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:06:19,583 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:06:19,584 INFO L290 TraceCheckUtils]: 22: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(0 == ~m); {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,584 INFO L290 TraceCheckUtils]: 23: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(0 == ~n); {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,584 INFO L290 TraceCheckUtils]: 24: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,584 INFO L290 TraceCheckUtils]: 25: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,585 INFO L290 TraceCheckUtils]: 26: Hoare triple {12162#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {12162#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:19,585 INFO L290 TraceCheckUtils]: 27: Hoare triple {12162#(<= 0 ackermann_~n)} assume !(~n - 1 >= -2147483648); {12159#false} is VALID [2022-02-21 03:06:19,586 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:06:19,586 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:19,586 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1042165462] [2022-02-21 03:06:19,586 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1042165462] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:19,586 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [290851062] [2022-02-21 03:06:19,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:19,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:19,587 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:19,588 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:06:19,589 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:06:19,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:19,620 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-21 03:06:19,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:19,632 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:19,773 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:06:19,774 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:06:19,774 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:06:19,774 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:06:19,774 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:06:19,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {12158#true} ~m := #in~m;~n := #in~n; {12158#true} is VALID [2022-02-21 03:06:19,774 INFO L290 TraceCheckUtils]: 6: Hoare triple {12158#true} assume !(0 == ~m); {12158#true} is VALID [2022-02-21 03:06:19,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {12158#true} assume !(0 == ~n); {12158#true} is VALID [2022-02-21 03:06:19,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {12158#true} assume ~m - 1 <= 2147483647; {12158#true} is VALID [2022-02-21 03:06:19,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {12158#true} assume ~m - 1 >= -2147483648; {12158#true} is VALID [2022-02-21 03:06:19,774 INFO L290 TraceCheckUtils]: 10: Hoare triple {12158#true} assume ~n - 1 <= 2147483647; {12158#true} is VALID [2022-02-21 03:06:19,775 INFO L290 TraceCheckUtils]: 11: Hoare triple {12158#true} assume ~n - 1 >= -2147483648; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:06:19,775 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:06:19,775 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:06:19,775 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:06:19,776 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:06:19,776 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:06:19,776 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:06:19,777 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:06:19,777 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:06:19,778 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:06:19,778 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:06:19,778 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:06:19,779 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:06:19,779 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:06:19,782 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:06:19,783 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:06:19,783 INFO L290 TraceCheckUtils]: 27: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {12159#false} is VALID [2022-02-21 03:06:19,783 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:06:19,783 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:20,080 INFO L290 TraceCheckUtils]: 27: Hoare triple {12208#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {12159#false} is VALID [2022-02-21 03:06:20,081 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:06:20,081 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:06:20,081 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:06:20,082 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:06:20,082 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:06:20,082 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:06:20,083 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:06:20,083 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:06:20,084 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:06:20,084 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:06:20,085 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:06:20,085 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:06:20,086 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:06:20,086 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:06:20,086 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:06:20,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {12158#true} assume ~n - 1 >= -2147483648; {12208#(<= 0 (+ ackermann_~n 2147483647))} is VALID [2022-02-21 03:06:20,086 INFO L290 TraceCheckUtils]: 10: Hoare triple {12158#true} assume ~n - 1 <= 2147483647; {12158#true} is VALID [2022-02-21 03:06:20,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {12158#true} assume ~m - 1 >= -2147483648; {12158#true} is VALID [2022-02-21 03:06:20,087 INFO L290 TraceCheckUtils]: 8: Hoare triple {12158#true} assume ~m - 1 <= 2147483647; {12158#true} is VALID [2022-02-21 03:06:20,087 INFO L290 TraceCheckUtils]: 7: Hoare triple {12158#true} assume !(0 == ~n); {12158#true} is VALID [2022-02-21 03:06:20,087 INFO L290 TraceCheckUtils]: 6: Hoare triple {12158#true} assume !(0 == ~m); {12158#true} is VALID [2022-02-21 03:06:20,087 INFO L290 TraceCheckUtils]: 5: Hoare triple {12158#true} ~m := #in~m;~n := #in~n; {12158#true} is VALID [2022-02-21 03:06:20,087 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:06:20,087 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:06:20,087 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:06:20,087 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:06:20,087 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:06:20,087 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:06:20,087 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [290851062] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:20,088 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-21 03:06:20,088 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [7, 6] total 13 [2022-02-21 03:06:20,088 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [890895581] [2022-02-21 03:06:20,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:20,091 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:06:20,093 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:20,093 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:06:20,109 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:06:20,109 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-21 03:06:20,109 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:20,110 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-21 03:06:20,110 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2022-02-21 03:06:20,110 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:06:21,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:21,090 INFO L93 Difference]: Finished difference Result 776 states and 987 transitions. [2022-02-21 03:06:21,090 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-21 03:06:21,090 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:06:21,090 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:21,090 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:06:21,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 70 transitions. [2022-02-21 03:06:21,091 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:06:21,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 70 transitions. [2022-02-21 03:06:21,092 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 70 transitions. [2022-02-21 03:06:21,137 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:06:21,162 INFO L225 Difference]: With dead ends: 776 [2022-02-21 03:06:21,162 INFO L226 Difference]: Without dead ends: 775 [2022-02-21 03:06:21,163 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:06:21,163 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:06:21,163 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:06:21,164 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 775 states. [2022-02-21 03:06:21,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 775 to 722. [2022-02-21 03:06:21,731 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:21,736 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:06:21,737 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:06:21,737 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:06:21,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:21,760 INFO L93 Difference]: Finished difference Result 775 states and 982 transitions. [2022-02-21 03:06:21,760 INFO L276 IsEmpty]: Start isEmpty. Operand 775 states and 982 transitions. [2022-02-21 03:06:21,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:21,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:21,766 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:06:21,767 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:06:21,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:21,790 INFO L93 Difference]: Finished difference Result 775 states and 982 transitions. [2022-02-21 03:06:21,790 INFO L276 IsEmpty]: Start isEmpty. Operand 775 states and 982 transitions. [2022-02-21 03:06:21,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:21,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:21,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:21,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:21,796 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:06:21,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 722 states to 722 states and 888 transitions. [2022-02-21 03:06:21,817 INFO L78 Accepts]: Start accepts. Automaton has 722 states and 888 transitions. Word has length 28 [2022-02-21 03:06:21,817 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:21,817 INFO L470 AbstractCegarLoop]: Abstraction has 722 states and 888 transitions. [2022-02-21 03:06:21,817 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:06:21,817 INFO L276 IsEmpty]: Start isEmpty. Operand 722 states and 888 transitions. [2022-02-21 03:06:21,818 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-21 03:06:21,818 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:21,818 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:06:21,835 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-02-21 03:06:22,034 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:06:22,035 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:06:22,035 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:22,035 INFO L85 PathProgramCache]: Analyzing trace with hash 1777813581, now seen corresponding path program 1 times [2022-02-21 03:06:22,035 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:22,035 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [572313737] [2022-02-21 03:06:22,035 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:22,035 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:22,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:22,083 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:06:22,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:22,116 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:06:22,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:22,155 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:06:22,157 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:06:22,157 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:06:22,158 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:06:22,158 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:06:22,159 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:06:22,159 INFO L290 TraceCheckUtils]: 0: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:06:22,159 INFO L290 TraceCheckUtils]: 1: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:06:22,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {15712#true} assume 0 == ~n; {15712#true} is VALID [2022-02-21 03:06:22,159 INFO L290 TraceCheckUtils]: 3: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,159 INFO L290 TraceCheckUtils]: 4: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,159 INFO L272 TraceCheckUtils]: 5: Hoare triple {15712#true} call #t~ret4 := ackermann(~m - 1, 1); {15712#true} is VALID [2022-02-21 03:06:22,160 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:06:22,160 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:06:22,160 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:06:22,161 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:06:22,161 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:06:22,162 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:06:22,162 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:06:22,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {15739#(<= |ackermann_#res| 2)} assume true; {15739#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:06:22,163 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:06:22,163 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:06:22,163 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:06:22,163 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:06:22,164 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:06:22,164 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:06:22,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:06:22,164 INFO L290 TraceCheckUtils]: 6: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:06:22,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {15712#true} assume !(0 == ~n); {15712#true} is VALID [2022-02-21 03:06:22,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,164 INFO L290 TraceCheckUtils]: 10: Hoare triple {15712#true} assume ~n - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,164 INFO L290 TraceCheckUtils]: 11: Hoare triple {15712#true} assume ~n - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,165 INFO L272 TraceCheckUtils]: 12: Hoare triple {15712#true} call #t~ret5 := ackermann(~m, ~n - 1); {15712#true} is VALID [2022-02-21 03:06:22,165 INFO L290 TraceCheckUtils]: 13: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:06:22,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:06:22,165 INFO L290 TraceCheckUtils]: 15: Hoare triple {15712#true} assume 0 == ~n; {15712#true} is VALID [2022-02-21 03:06:22,165 INFO L290 TraceCheckUtils]: 16: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,165 INFO L290 TraceCheckUtils]: 17: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,165 INFO L272 TraceCheckUtils]: 18: Hoare triple {15712#true} call #t~ret4 := ackermann(~m - 1, 1); {15712#true} is VALID [2022-02-21 03:06:22,166 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:06:22,166 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:06:22,166 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:06:22,167 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:06:22,167 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:06:22,168 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:06:22,168 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:06:22,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {15739#(<= |ackermann_#res| 2)} assume true; {15739#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:06:22,169 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:06:22,169 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:06:22,171 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:06:22,171 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:06:22,171 INFO L290 TraceCheckUtils]: 31: Hoare triple {15731#(<= ackermann_~n 2)} assume 0 == ~m; {15731#(<= ackermann_~n 2)} is VALID [2022-02-21 03:06:22,172 INFO L290 TraceCheckUtils]: 32: Hoare triple {15731#(<= ackermann_~n 2)} assume !(1 + ~n <= 2147483647); {15713#false} is VALID [2022-02-21 03:06:22,172 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:06:22,172 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:22,172 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [572313737] [2022-02-21 03:06:22,172 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [572313737] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:22,172 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1251435999] [2022-02-21 03:06:22,173 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:22,173 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:22,173 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:22,174 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:06:22,175 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:06:22,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:22,206 INFO L263 TraceCheckSpWp]: Trace formula consists of 107 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-21 03:06:22,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:22,213 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:22,337 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:06:22,337 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:06:22,337 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:06:22,338 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:06:22,338 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:06:22,338 INFO L290 TraceCheckUtils]: 5: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 6: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 7: Hoare triple {15712#true} assume !(0 == ~n); {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 10: Hoare triple {15712#true} assume ~n - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 11: Hoare triple {15712#true} assume ~n - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L272 TraceCheckUtils]: 12: Hoare triple {15712#true} call #t~ret5 := ackermann(~m, ~n - 1); {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 15: Hoare triple {15712#true} assume 0 == ~n; {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 16: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,338 INFO L290 TraceCheckUtils]: 17: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,339 INFO L272 TraceCheckUtils]: 18: Hoare triple {15712#true} call #t~ret4 := ackermann(~m - 1, 1); {15712#true} is VALID [2022-02-21 03:06:22,339 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:06:22,340 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:06:22,340 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:06:22,340 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:06:22,341 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:06:22,341 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:06:22,342 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:06:22,342 INFO L290 TraceCheckUtils]: 26: Hoare triple {15739#(<= |ackermann_#res| 2)} assume true; {15739#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:06:22,342 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:06:22,343 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:06:22,343 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:06:22,344 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:06:22,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {15731#(<= ackermann_~n 2)} assume 0 == ~m; {15731#(<= ackermann_~n 2)} is VALID [2022-02-21 03:06:22,344 INFO L290 TraceCheckUtils]: 32: Hoare triple {15731#(<= ackermann_~n 2)} assume !(1 + ~n <= 2147483647); {15713#false} is VALID [2022-02-21 03:06:22,344 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:06:22,344 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:22,844 INFO L290 TraceCheckUtils]: 32: Hoare triple {15843#(<= ackermann_~n 2147483646)} assume !(1 + ~n <= 2147483647); {15713#false} is VALID [2022-02-21 03:06:22,844 INFO L290 TraceCheckUtils]: 31: Hoare triple {15843#(<= ackermann_~n 2147483646)} assume 0 == ~m; {15843#(<= ackermann_~n 2147483646)} is VALID [2022-02-21 03:06:22,845 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:06:22,845 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:06:22,846 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:06:22,846 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:06:22,846 INFO L290 TraceCheckUtils]: 26: Hoare triple {15864#(<= |ackermann_#res| 2147483646)} assume true; {15864#(<= |ackermann_#res| 2147483646)} is VALID [2022-02-21 03:06:22,847 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:06:22,847 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:06:22,848 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:06:22,848 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:06:22,848 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:06:22,849 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:06:22,849 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:06:22,849 INFO L272 TraceCheckUtils]: 18: Hoare triple {15712#true} call #t~ret4 := ackermann(~m - 1, 1); {15712#true} is VALID [2022-02-21 03:06:22,849 INFO L290 TraceCheckUtils]: 17: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,849 INFO L290 TraceCheckUtils]: 16: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,849 INFO L290 TraceCheckUtils]: 15: Hoare triple {15712#true} assume 0 == ~n; {15712#true} is VALID [2022-02-21 03:06:22,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:06:22,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:06:22,850 INFO L272 TraceCheckUtils]: 12: Hoare triple {15712#true} call #t~ret5 := ackermann(~m, ~n - 1); {15712#true} is VALID [2022-02-21 03:06:22,850 INFO L290 TraceCheckUtils]: 11: Hoare triple {15712#true} assume ~n - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,850 INFO L290 TraceCheckUtils]: 10: Hoare triple {15712#true} assume ~n - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {15712#true} assume ~m - 1 >= -2147483648; {15712#true} is VALID [2022-02-21 03:06:22,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {15712#true} assume ~m - 1 <= 2147483647; {15712#true} is VALID [2022-02-21 03:06:22,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {15712#true} assume !(0 == ~n); {15712#true} is VALID [2022-02-21 03:06:22,850 INFO L290 TraceCheckUtils]: 6: Hoare triple {15712#true} assume !(0 == ~m); {15712#true} is VALID [2022-02-21 03:06:22,850 INFO L290 TraceCheckUtils]: 5: Hoare triple {15712#true} ~m := #in~m;~n := #in~n; {15712#true} is VALID [2022-02-21 03:06:22,850 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:06:22,850 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:06:22,850 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:06:22,850 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:06:22,850 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:06:22,850 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:06:22,851 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1251435999] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:06:22,851 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:06:22,851 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 17 [2022-02-21 03:06:22,851 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [489290678] [2022-02-21 03:06:22,851 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:06:22,851 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:06:22,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:22,859 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:06:22,893 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:06:22,893 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-21 03:06:22,893 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:22,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-21 03:06:22,894 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=260, Unknown=0, NotChecked=0, Total=306 [2022-02-21 03:06:22,894 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:06:25,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:25,013 INFO L93 Difference]: Finished difference Result 1150 states and 1701 transitions. [2022-02-21 03:06:25,013 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-21 03:06:25,013 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:06:25,013 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:25,013 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:06:25,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 98 transitions. [2022-02-21 03:06:25,015 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:06:25,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 98 transitions. [2022-02-21 03:06:25,016 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 98 transitions. [2022-02-21 03:06:25,094 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:06:25,145 INFO L225 Difference]: With dead ends: 1150 [2022-02-21 03:06:25,145 INFO L226 Difference]: Without dead ends: 1148 [2022-02-21 03:06:25,146 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:06:25,147 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 147 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 305 mSolverCounterSat, 161 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:25,147 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.4s Time] [2022-02-21 03:06:25,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1148 states. [2022-02-21 03:06:25,971 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1148 to 976. [2022-02-21 03:06:25,971 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:25,972 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:06:25,973 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:06:25,974 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:06:26,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:26,023 INFO L93 Difference]: Finished difference Result 1148 states and 1683 transitions. [2022-02-21 03:06:26,023 INFO L276 IsEmpty]: Start isEmpty. Operand 1148 states and 1683 transitions. [2022-02-21 03:06:26,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:26,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:26,030 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:06:26,031 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:06:26,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:26,082 INFO L93 Difference]: Finished difference Result 1148 states and 1683 transitions. [2022-02-21 03:06:26,082 INFO L276 IsEmpty]: Start isEmpty. Operand 1148 states and 1683 transitions. [2022-02-21 03:06:26,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:26,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:26,088 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:26,088 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:26,090 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:06:26,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 976 states to 976 states and 1319 transitions. [2022-02-21 03:06:26,131 INFO L78 Accepts]: Start accepts. Automaton has 976 states and 1319 transitions. Word has length 33 [2022-02-21 03:06:26,131 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:26,132 INFO L470 AbstractCegarLoop]: Abstraction has 976 states and 1319 transitions. [2022-02-21 03:06:26,132 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:06:26,132 INFO L276 IsEmpty]: Start isEmpty. Operand 976 states and 1319 transitions. [2022-02-21 03:06:26,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-21 03:06:26,133 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:26,133 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:06:26,153 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:06:26,350 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:06:26,350 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:06:26,351 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:26,351 INFO L85 PathProgramCache]: Analyzing trace with hash -722353775, now seen corresponding path program 1 times [2022-02-21 03:06:26,351 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:26,351 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1539672949] [2022-02-21 03:06:26,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:26,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:26,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:26,393 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:06:26,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:26,419 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:06:26,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:26,450 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:06:26,451 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:06:26,451 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:06:26,452 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:06:26,452 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:06:26,452 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:06:26,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:06:26,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:06:26,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {20826#true} assume 0 == ~n; {20826#true} is VALID [2022-02-21 03:06:26,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:26,453 INFO L290 TraceCheckUtils]: 4: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:26,453 INFO L272 TraceCheckUtils]: 5: Hoare triple {20826#true} call #t~ret4 := ackermann(~m - 1, 1); {20826#true} is VALID [2022-02-21 03:06:26,453 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:06:26,453 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:06:26,454 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:06:26,454 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:06:26,454 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:06:26,459 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:06:26,460 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:06:26,460 INFO L290 TraceCheckUtils]: 13: Hoare triple {20853#(<= 2 |ackermann_#res|)} assume true; {20853#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:06:26,460 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:06:26,461 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:06:26,461 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:06:26,461 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:06:26,461 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:06:26,461 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:06:26,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:06:26,461 INFO L290 TraceCheckUtils]: 6: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 7: Hoare triple {20826#true} assume !(0 == ~n); {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 8: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 10: Hoare triple {20826#true} assume ~n - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {20826#true} assume ~n - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L272 TraceCheckUtils]: 12: Hoare triple {20826#true} call #t~ret5 := ackermann(~m, ~n - 1); {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 13: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 14: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 15: Hoare triple {20826#true} assume 0 == ~n; {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 16: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L290 TraceCheckUtils]: 17: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:26,462 INFO L272 TraceCheckUtils]: 18: Hoare triple {20826#true} call #t~ret4 := ackermann(~m - 1, 1); {20826#true} is VALID [2022-02-21 03:06:26,463 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:06:26,463 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:06:26,463 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:06:26,464 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:06:26,464 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:06:26,465 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:06:26,465 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:06:26,465 INFO L290 TraceCheckUtils]: 26: Hoare triple {20853#(<= 2 |ackermann_#res|)} assume true; {20853#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:06:26,466 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:06:26,466 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:06:26,466 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:06:26,467 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:06:26,467 INFO L290 TraceCheckUtils]: 31: Hoare triple {20845#(<= 2 ackermann_~n)} assume 0 == ~m; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:26,467 INFO L290 TraceCheckUtils]: 32: Hoare triple {20845#(<= 2 ackermann_~n)} assume 1 + ~n <= 2147483647; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:26,468 INFO L290 TraceCheckUtils]: 33: Hoare triple {20845#(<= 2 ackermann_~n)} assume !(1 + ~n >= -2147483648); {20827#false} is VALID [2022-02-21 03:06:26,468 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:06:26,468 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:26,468 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1539672949] [2022-02-21 03:06:26,468 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1539672949] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:26,468 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1795940688] [2022-02-21 03:06:26,469 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:26,469 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:26,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:26,470 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:06:26,486 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:06:26,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:26,508 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-21 03:06:26,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:26,517 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:26,652 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:06:26,653 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:06:26,653 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:06:26,653 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:06:26,653 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:06:26,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:06:26,653 INFO L290 TraceCheckUtils]: 6: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:06:26,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {20826#true} assume !(0 == ~n); {20826#true} is VALID [2022-02-21 03:06:26,653 INFO L290 TraceCheckUtils]: 8: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:26,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:26,653 INFO L290 TraceCheckUtils]: 10: Hoare triple {20826#true} assume ~n - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:26,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {20826#true} assume ~n - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:26,653 INFO L272 TraceCheckUtils]: 12: Hoare triple {20826#true} call #t~ret5 := ackermann(~m, ~n - 1); {20826#true} is VALID [2022-02-21 03:06:26,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:06:26,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:06:26,654 INFO L290 TraceCheckUtils]: 15: Hoare triple {20826#true} assume 0 == ~n; {20826#true} is VALID [2022-02-21 03:06:26,654 INFO L290 TraceCheckUtils]: 16: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:26,654 INFO L290 TraceCheckUtils]: 17: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:26,654 INFO L272 TraceCheckUtils]: 18: Hoare triple {20826#true} call #t~ret4 := ackermann(~m - 1, 1); {20826#true} is VALID [2022-02-21 03:06:26,654 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:06:26,654 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:06:26,655 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:06:26,655 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:06:26,655 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:06:26,656 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:06:26,656 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:06:26,657 INFO L290 TraceCheckUtils]: 26: Hoare triple {20853#(<= 2 |ackermann_#res|)} assume true; {20853#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:06:26,657 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:06:26,657 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:06:26,658 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:06:26,658 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:06:26,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {20845#(<= 2 ackermann_~n)} assume 0 == ~m; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:26,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {20845#(<= 2 ackermann_~n)} assume 1 + ~n <= 2147483647; {20845#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:26,659 INFO L290 TraceCheckUtils]: 33: Hoare triple {20845#(<= 2 ackermann_~n)} assume !(1 + ~n >= -2147483648); {20827#false} is VALID [2022-02-21 03:06:26,659 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:06:26,659 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:27,176 INFO L290 TraceCheckUtils]: 33: Hoare triple {20960#(<= 0 (+ ackermann_~n 2147483649))} assume !(1 + ~n >= -2147483648); {20827#false} is VALID [2022-02-21 03:06:27,177 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:06:27,177 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:06:27,178 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:06:27,178 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:06:27,179 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:06:27,180 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:06:27,180 INFO L290 TraceCheckUtils]: 26: Hoare triple {20984#(<= 0 (+ |ackermann_#res| 2147483649))} assume true; {20984#(<= 0 (+ |ackermann_#res| 2147483649))} is VALID [2022-02-21 03:06:27,180 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:06:27,181 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:06:27,181 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:06:27,182 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:06:27,182 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:06:27,183 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:06:27,183 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:06:27,183 INFO L272 TraceCheckUtils]: 18: Hoare triple {20826#true} call #t~ret4 := ackermann(~m - 1, 1); {20826#true} is VALID [2022-02-21 03:06:27,184 INFO L290 TraceCheckUtils]: 17: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:27,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:27,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {20826#true} assume 0 == ~n; {20826#true} is VALID [2022-02-21 03:06:27,184 INFO L290 TraceCheckUtils]: 14: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:06:27,184 INFO L290 TraceCheckUtils]: 13: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:06:27,184 INFO L272 TraceCheckUtils]: 12: Hoare triple {20826#true} call #t~ret5 := ackermann(~m, ~n - 1); {20826#true} is VALID [2022-02-21 03:06:27,184 INFO L290 TraceCheckUtils]: 11: Hoare triple {20826#true} assume ~n - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:27,184 INFO L290 TraceCheckUtils]: 10: Hoare triple {20826#true} assume ~n - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:27,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {20826#true} assume ~m - 1 >= -2147483648; {20826#true} is VALID [2022-02-21 03:06:27,185 INFO L290 TraceCheckUtils]: 8: Hoare triple {20826#true} assume ~m - 1 <= 2147483647; {20826#true} is VALID [2022-02-21 03:06:27,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {20826#true} assume !(0 == ~n); {20826#true} is VALID [2022-02-21 03:06:27,185 INFO L290 TraceCheckUtils]: 6: Hoare triple {20826#true} assume !(0 == ~m); {20826#true} is VALID [2022-02-21 03:06:27,185 INFO L290 TraceCheckUtils]: 5: Hoare triple {20826#true} ~m := #in~m;~n := #in~n; {20826#true} is VALID [2022-02-21 03:06:27,185 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:06:27,185 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:06:27,185 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:06:27,185 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:06:27,186 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:06:27,186 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:06:27,186 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1795940688] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:27,186 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-21 03:06:27,186 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [8, 8] total 17 [2022-02-21 03:06:27,186 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [52555747] [2022-02-21 03:06:27,187 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:27,187 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:06:27,187 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:27,187 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:06:27,208 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:06:27,209 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-21 03:06:27,209 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:27,209 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-21 03:06:27,209 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=258, Unknown=0, NotChecked=0, Total=306 [2022-02-21 03:06:27,210 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:06:28,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:28,712 INFO L93 Difference]: Finished difference Result 1019 states and 1361 transitions. [2022-02-21 03:06:28,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-21 03:06:28,712 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:06:28,713 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:28,714 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:06:28,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 60 transitions. [2022-02-21 03:06:28,715 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:06:28,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 60 transitions. [2022-02-21 03:06:28,716 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 60 transitions. [2022-02-21 03:06:28,874 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:06:28,913 INFO L225 Difference]: With dead ends: 1019 [2022-02-21 03:06:28,914 INFO L226 Difference]: Without dead ends: 1018 [2022-02-21 03:06:28,915 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:06:28,916 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:06:28,916 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:06:28,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1018 states. [2022-02-21 03:06:29,868 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1018 to 975. [2022-02-21 03:06:29,869 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:29,871 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:06:29,873 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:06:29,874 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:06:29,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:29,910 INFO L93 Difference]: Finished difference Result 1018 states and 1353 transitions. [2022-02-21 03:06:29,910 INFO L276 IsEmpty]: Start isEmpty. Operand 1018 states and 1353 transitions. [2022-02-21 03:06:29,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:29,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:29,915 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:06:29,916 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:06:29,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:29,951 INFO L93 Difference]: Finished difference Result 1018 states and 1353 transitions. [2022-02-21 03:06:29,951 INFO L276 IsEmpty]: Start isEmpty. Operand 1018 states and 1353 transitions. [2022-02-21 03:06:29,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:29,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:29,955 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:29,955 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:29,957 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:06:29,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 975 states to 975 states and 1311 transitions. [2022-02-21 03:06:29,994 INFO L78 Accepts]: Start accepts. Automaton has 975 states and 1311 transitions. Word has length 34 [2022-02-21 03:06:29,995 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:29,995 INFO L470 AbstractCegarLoop]: Abstraction has 975 states and 1311 transitions. [2022-02-21 03:06:29,995 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:06:29,995 INFO L276 IsEmpty]: Start isEmpty. Operand 975 states and 1311 transitions. [2022-02-21 03:06:29,997 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-21 03:06:29,997 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:29,997 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:06:30,016 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:06:30,214 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:06:30,215 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:06:30,215 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:30,215 INFO L85 PathProgramCache]: Analyzing trace with hash -1227703372, now seen corresponding path program 2 times [2022-02-21 03:06:30,215 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:30,215 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [969934789] [2022-02-21 03:06:30,215 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:30,216 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:30,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:30,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:06:30,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:30,306 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:06:30,306 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:06:30,307 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:06:30,307 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:06:30,307 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:06:30,308 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:06:30,308 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:06:30,308 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:06:30,308 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:06:30,309 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:06:30,309 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:06:30,309 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:06:30,310 INFO L290 TraceCheckUtils]: 6: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~m); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~n); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,311 INFO L290 TraceCheckUtils]: 10: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,311 INFO L290 TraceCheckUtils]: 11: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,311 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:06:30,311 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:06:30,312 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:06:30,312 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:06:30,312 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:06:30,312 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:06:30,313 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:06:30,313 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:06:30,314 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:06:30,314 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:06:30,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~m); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,315 INFO L290 TraceCheckUtils]: 23: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~n); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,315 INFO L290 TraceCheckUtils]: 24: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,315 INFO L290 TraceCheckUtils]: 25: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,316 INFO L290 TraceCheckUtils]: 26: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,316 INFO L290 TraceCheckUtils]: 27: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,316 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:06:30,317 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:06:30,317 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:06:30,317 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:06:30,317 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:06:30,318 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:06:30,318 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:06:30,318 INFO L290 TraceCheckUtils]: 35: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume !(~n - 1 >= -2147483648); {25537#false} is VALID [2022-02-21 03:06:30,318 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:06:30,319 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:30,319 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [969934789] [2022-02-21 03:06:30,319 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [969934789] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:30,319 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1826356138] [2022-02-21 03:06:30,319 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 03:06:30,319 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:30,319 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:30,320 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:06:30,322 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:06:30,356 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 03:06:30,356 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 03:06:30,357 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-21 03:06:30,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:30,369 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:30,513 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:06:30,514 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:06:30,514 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:06:30,514 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:06:30,515 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:06:30,515 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:06:30,515 INFO L290 TraceCheckUtils]: 6: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~m); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~n); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,516 INFO L290 TraceCheckUtils]: 8: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,516 INFO L290 TraceCheckUtils]: 9: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,517 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:06:30,517 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:06:30,517 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:06:30,517 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:06:30,518 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:06:30,518 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:06:30,519 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:06:30,519 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:06:30,519 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:06:30,520 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:06:30,520 INFO L290 TraceCheckUtils]: 22: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~m); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,520 INFO L290 TraceCheckUtils]: 23: Hoare triple {25540#(<= 0 ackermann_~n)} assume !(0 == ~n); {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,520 INFO L290 TraceCheckUtils]: 24: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,521 INFO L290 TraceCheckUtils]: 25: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,521 INFO L290 TraceCheckUtils]: 26: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,521 INFO L290 TraceCheckUtils]: 27: Hoare triple {25540#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {25540#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:30,522 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:06:30,522 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:06:30,522 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:06:30,523 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:06:30,523 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:06:30,523 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:06:30,523 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:06:30,524 INFO L290 TraceCheckUtils]: 35: Hoare triple {25549#(<= 0 (+ ackermann_~n 1))} assume !(~n - 1 >= -2147483648); {25537#false} is VALID [2022-02-21 03:06:30,524 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:06:30,524 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:30,846 INFO L290 TraceCheckUtils]: 35: Hoare triple {25661#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {25537#false} is VALID [2022-02-21 03:06:30,846 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:06:30,847 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:06:30,847 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:06:30,847 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:06:30,848 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:06:30,848 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:06:30,849 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:06:30,849 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:06:30,849 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:06:30,849 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:06:30,850 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:06:30,850 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:06:30,850 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:06:30,850 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:06:30,851 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:06:30,851 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:06:30,852 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:06:30,852 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:06:30,853 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:06:30,853 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:06:30,854 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:06:30,854 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:06:30,854 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:06:30,854 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:06:30,855 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:06:30,855 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:06:30,855 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:06:30,855 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:06:30,856 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:06:30,856 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:06:30,856 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:06:30,857 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:06:30,857 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:06:30,857 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:06:30,857 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:06:30,857 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:06:30,857 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1826356138] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:06:30,857 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:06:30,857 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 18 [2022-02-21 03:06:30,857 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1012889252] [2022-02-21 03:06:30,858 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:06:30,858 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:06:30,858 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:30,858 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:06:30,889 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:06:30,890 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-21 03:06:30,890 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:30,890 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-21 03:06:30,890 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=285, Unknown=0, NotChecked=0, Total=342 [2022-02-21 03:06:30,890 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:06:32,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:32,974 INFO L93 Difference]: Finished difference Result 1182 states and 1575 transitions. [2022-02-21 03:06:32,974 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-02-21 03:06:32,974 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:06:32,974 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:32,974 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:06:32,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 108 transitions. [2022-02-21 03:06:32,977 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:06:32,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 108 transitions. [2022-02-21 03:06:32,978 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 108 transitions. [2022-02-21 03:06:33,051 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:06:33,100 INFO L225 Difference]: With dead ends: 1182 [2022-02-21 03:06:33,101 INFO L226 Difference]: Without dead ends: 1181 [2022-02-21 03:06:33,101 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 65 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 142 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=238, Invalid=754, Unknown=0, NotChecked=0, Total=992 [2022-02-21 03:06:33,102 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:06:33,102 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:06:33,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1181 states. [2022-02-21 03:06:34,252 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1181 to 1029. [2022-02-21 03:06:34,252 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:34,256 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:06:34,258 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:06:34,259 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:06:34,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:34,302 INFO L93 Difference]: Finished difference Result 1181 states and 1566 transitions. [2022-02-21 03:06:34,302 INFO L276 IsEmpty]: Start isEmpty. Operand 1181 states and 1566 transitions. [2022-02-21 03:06:34,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:34,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:34,307 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:06:34,308 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:06:34,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:34,350 INFO L93 Difference]: Finished difference Result 1181 states and 1566 transitions. [2022-02-21 03:06:34,350 INFO L276 IsEmpty]: Start isEmpty. Operand 1181 states and 1566 transitions. [2022-02-21 03:06:34,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:34,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:34,354 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:34,354 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:34,356 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:06:34,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1029 states to 1029 states and 1373 transitions. [2022-02-21 03:06:34,396 INFO L78 Accepts]: Start accepts. Automaton has 1029 states and 1373 transitions. Word has length 36 [2022-02-21 03:06:34,396 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:34,396 INFO L470 AbstractCegarLoop]: Abstraction has 1029 states and 1373 transitions. [2022-02-21 03:06:34,396 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:06:34,396 INFO L276 IsEmpty]: Start isEmpty. Operand 1029 states and 1373 transitions. [2022-02-21 03:06:34,397 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-21 03:06:34,397 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:34,397 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:06:34,415 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:06:34,611 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:06:34,612 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:06:34,612 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:34,612 INFO L85 PathProgramCache]: Analyzing trace with hash -1699542727, now seen corresponding path program 1 times [2022-02-21 03:06:34,612 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:34,612 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1997567180] [2022-02-21 03:06:34,612 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:34,612 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:34,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:34,649 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:06:34,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:34,666 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:06:34,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:34,685 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:06:34,685 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:06:34,686 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:06:34,686 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:06:34,686 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:06:34,687 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:06:34,687 INFO L290 TraceCheckUtils]: 0: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:06:34,687 INFO L290 TraceCheckUtils]: 1: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:06:34,687 INFO L290 TraceCheckUtils]: 2: Hoare triple {30840#true} assume 0 == ~n; {30840#true} is VALID [2022-02-21 03:06:34,687 INFO L290 TraceCheckUtils]: 3: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:34,688 INFO L290 TraceCheckUtils]: 4: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:34,688 INFO L272 TraceCheckUtils]: 5: Hoare triple {30840#true} call #t~ret4 := ackermann(~m - 1, 1); {30840#true} is VALID [2022-02-21 03:06:34,688 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:06:34,688 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:06:34,689 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:06:34,689 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:06:34,689 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:06:34,690 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:06:34,690 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:06:34,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {30867#(<= 2 |ackermann_#res|)} assume true; {30867#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:06:34,691 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:06:34,691 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:06:34,691 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:06:34,691 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:06:34,691 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:06:34,692 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:06:34,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:06:34,692 INFO L290 TraceCheckUtils]: 6: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:06:34,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {30840#true} assume !(0 == ~n); {30840#true} is VALID [2022-02-21 03:06:34,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:34,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:34,692 INFO L290 TraceCheckUtils]: 10: Hoare triple {30840#true} assume ~n - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:34,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {30840#true} assume ~n - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:34,692 INFO L272 TraceCheckUtils]: 12: Hoare triple {30840#true} call #t~ret5 := ackermann(~m, ~n - 1); {30840#true} is VALID [2022-02-21 03:06:34,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:06:34,693 INFO L290 TraceCheckUtils]: 14: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:06:34,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {30840#true} assume 0 == ~n; {30840#true} is VALID [2022-02-21 03:06:34,693 INFO L290 TraceCheckUtils]: 16: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:34,693 INFO L290 TraceCheckUtils]: 17: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:34,693 INFO L272 TraceCheckUtils]: 18: Hoare triple {30840#true} call #t~ret4 := ackermann(~m - 1, 1); {30840#true} is VALID [2022-02-21 03:06:34,693 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:06:34,694 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:06:34,694 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:06:34,694 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:06:34,695 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:06:34,695 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:06:34,696 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:06:34,696 INFO L290 TraceCheckUtils]: 26: Hoare triple {30867#(<= 2 |ackermann_#res|)} assume true; {30867#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:06:34,696 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:06:34,697 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:06:34,697 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:06:34,697 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:06:34,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(0 == ~m); {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(0 == ~n); {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~m - 1 <= 2147483647; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,698 INFO L290 TraceCheckUtils]: 34: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~m - 1 >= -2147483648; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,699 INFO L290 TraceCheckUtils]: 35: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~n - 1 <= 2147483647; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,699 INFO L290 TraceCheckUtils]: 36: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(~n - 1 >= -2147483648); {30841#false} is VALID [2022-02-21 03:06:34,699 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:06:34,699 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:34,699 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1997567180] [2022-02-21 03:06:34,699 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1997567180] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:34,700 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1278334240] [2022-02-21 03:06:34,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:34,700 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:34,700 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:34,701 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:06:34,702 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:06:34,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:34,734 INFO L263 TraceCheckSpWp]: Trace formula consists of 110 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-21 03:06:34,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:34,740 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:34,871 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:06:34,871 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:06:34,871 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:06:34,872 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:06:34,872 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:06:34,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:06:34,872 INFO L290 TraceCheckUtils]: 6: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:06:34,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {30840#true} assume !(0 == ~n); {30840#true} is VALID [2022-02-21 03:06:34,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:34,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:34,873 INFO L290 TraceCheckUtils]: 10: Hoare triple {30840#true} assume ~n - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:34,873 INFO L290 TraceCheckUtils]: 11: Hoare triple {30840#true} assume ~n - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:34,873 INFO L272 TraceCheckUtils]: 12: Hoare triple {30840#true} call #t~ret5 := ackermann(~m, ~n - 1); {30840#true} is VALID [2022-02-21 03:06:34,873 INFO L290 TraceCheckUtils]: 13: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:06:34,873 INFO L290 TraceCheckUtils]: 14: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:06:34,873 INFO L290 TraceCheckUtils]: 15: Hoare triple {30840#true} assume 0 == ~n; {30840#true} is VALID [2022-02-21 03:06:34,873 INFO L290 TraceCheckUtils]: 16: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:34,873 INFO L290 TraceCheckUtils]: 17: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:34,874 INFO L272 TraceCheckUtils]: 18: Hoare triple {30840#true} call #t~ret4 := ackermann(~m - 1, 1); {30840#true} is VALID [2022-02-21 03:06:34,874 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:06:34,874 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:06:34,874 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:06:34,875 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:06:34,875 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:06:34,876 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:06:34,876 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:06:34,876 INFO L290 TraceCheckUtils]: 26: Hoare triple {30867#(<= 2 |ackermann_#res|)} assume true; {30867#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:06:34,877 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:06:34,877 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:06:34,878 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:06:34,878 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:06:34,878 INFO L290 TraceCheckUtils]: 31: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(0 == ~m); {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,879 INFO L290 TraceCheckUtils]: 32: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(0 == ~n); {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,879 INFO L290 TraceCheckUtils]: 33: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~m - 1 <= 2147483647; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~m - 1 >= -2147483648; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {30859#(<= 2 ackermann_~n)} assume ~n - 1 <= 2147483647; {30859#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:34,880 INFO L290 TraceCheckUtils]: 36: Hoare triple {30859#(<= 2 ackermann_~n)} assume !(~n - 1 >= -2147483648); {30841#false} is VALID [2022-02-21 03:06:34,880 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:06:34,880 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:35,453 INFO L290 TraceCheckUtils]: 36: Hoare triple {30983#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {30841#false} is VALID [2022-02-21 03:06:35,453 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:06:35,454 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:06:35,454 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:06:35,454 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:06:35,454 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:06:35,455 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:06:35,459 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:06:35,460 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:06:35,460 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:06:35,461 INFO L290 TraceCheckUtils]: 26: Hoare triple {31016#(<= 0 (+ |ackermann_#res| 2147483647))} assume true; {31016#(<= 0 (+ |ackermann_#res| 2147483647))} is VALID [2022-02-21 03:06:35,461 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:06:35,462 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:06:35,462 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:06:35,463 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:06:35,463 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:06:35,464 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:06:35,464 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:06:35,464 INFO L272 TraceCheckUtils]: 18: Hoare triple {30840#true} call #t~ret4 := ackermann(~m - 1, 1); {30840#true} is VALID [2022-02-21 03:06:35,464 INFO L290 TraceCheckUtils]: 17: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:35,465 INFO L290 TraceCheckUtils]: 16: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:35,465 INFO L290 TraceCheckUtils]: 15: Hoare triple {30840#true} assume 0 == ~n; {30840#true} is VALID [2022-02-21 03:06:35,465 INFO L290 TraceCheckUtils]: 14: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:06:35,465 INFO L290 TraceCheckUtils]: 13: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:06:35,465 INFO L272 TraceCheckUtils]: 12: Hoare triple {30840#true} call #t~ret5 := ackermann(~m, ~n - 1); {30840#true} is VALID [2022-02-21 03:06:35,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {30840#true} assume ~n - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:35,465 INFO L290 TraceCheckUtils]: 10: Hoare triple {30840#true} assume ~n - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:35,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {30840#true} assume ~m - 1 >= -2147483648; {30840#true} is VALID [2022-02-21 03:06:35,465 INFO L290 TraceCheckUtils]: 8: Hoare triple {30840#true} assume ~m - 1 <= 2147483647; {30840#true} is VALID [2022-02-21 03:06:35,466 INFO L290 TraceCheckUtils]: 7: Hoare triple {30840#true} assume !(0 == ~n); {30840#true} is VALID [2022-02-21 03:06:35,466 INFO L290 TraceCheckUtils]: 6: Hoare triple {30840#true} assume !(0 == ~m); {30840#true} is VALID [2022-02-21 03:06:35,466 INFO L290 TraceCheckUtils]: 5: Hoare triple {30840#true} ~m := #in~m;~n := #in~n; {30840#true} is VALID [2022-02-21 03:06:35,466 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:06:35,466 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:06:35,466 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:06:35,466 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:06:35,466 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:06:35,467 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:06:35,467 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1278334240] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:35,467 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-21 03:06:35,467 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [8, 8] total 17 [2022-02-21 03:06:35,467 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [964404941] [2022-02-21 03:06:35,467 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-21 03:06:35,468 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:06:35,468 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:35,468 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:06:35,492 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:06:35,492 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-21 03:06:35,492 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:35,493 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-21 03:06:35,493 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=258, Unknown=0, NotChecked=0, Total=306 [2022-02-21 03:06:35,493 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:06:37,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:37,198 INFO L93 Difference]: Finished difference Result 1140 states and 1577 transitions. [2022-02-21 03:06:37,198 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-21 03:06:37,199 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:06:37,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:37,199 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:06:37,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-02-21 03:06:37,200 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:06:37,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 84 transitions. [2022-02-21 03:06:37,201 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 84 transitions. [2022-02-21 03:06:37,256 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:37,316 INFO L225 Difference]: With dead ends: 1140 [2022-02-21 03:06:37,316 INFO L226 Difference]: Without dead ends: 1139 [2022-02-21 03:06:37,318 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:06:37,319 INFO L933 BasicCegarLoop]: 35 mSDtfsCounter, 65 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:37,319 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.1s Time] [2022-02-21 03:06:37,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1139 states. [2022-02-21 03:06:38,427 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1139 to 1037. [2022-02-21 03:06:38,427 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:38,428 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:06:38,429 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:06:38,430 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:06:38,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:38,471 INFO L93 Difference]: Finished difference Result 1139 states and 1573 transitions. [2022-02-21 03:06:38,471 INFO L276 IsEmpty]: Start isEmpty. Operand 1139 states and 1573 transitions. [2022-02-21 03:06:38,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:38,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:38,477 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:06:38,478 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:06:38,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:38,527 INFO L93 Difference]: Finished difference Result 1139 states and 1573 transitions. [2022-02-21 03:06:38,527 INFO L276 IsEmpty]: Start isEmpty. Operand 1139 states and 1573 transitions. [2022-02-21 03:06:38,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:38,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:38,531 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:38,531 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:38,533 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:06:38,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1037 states to 1037 states and 1322 transitions. [2022-02-21 03:06:38,572 INFO L78 Accepts]: Start accepts. Automaton has 1037 states and 1322 transitions. Word has length 37 [2022-02-21 03:06:38,572 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:38,572 INFO L470 AbstractCegarLoop]: Abstraction has 1037 states and 1322 transitions. [2022-02-21 03:06:38,572 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:06:38,573 INFO L276 IsEmpty]: Start isEmpty. Operand 1037 states and 1322 transitions. [2022-02-21 03:06:38,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-02-21 03:06:38,573 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:38,574 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 4, 4, 1, 1, 1, 1, 1, 1] [2022-02-21 03:06:38,590 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:06:38,788 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:06:38,788 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:06:38,788 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:38,788 INFO L85 PathProgramCache]: Analyzing trace with hash -151680771, now seen corresponding path program 2 times [2022-02-21 03:06:38,788 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:38,789 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1119309782] [2022-02-21 03:06:38,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:38,789 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:38,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:38,885 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:06:38,885 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:06:38,885 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:06:38,886 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:06:38,886 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:06:38,887 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:06:38,887 INFO L290 TraceCheckUtils]: 6: Hoare triple {36032#(<= 0 ackermann_~n)} assume !(0 == ~m); {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:38,887 INFO L290 TraceCheckUtils]: 7: Hoare triple {36032#(<= 0 ackermann_~n)} assume !(0 == ~n); {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:38,888 INFO L290 TraceCheckUtils]: 8: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:38,888 INFO L290 TraceCheckUtils]: 9: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:38,888 INFO L290 TraceCheckUtils]: 10: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:38,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:38,889 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:06:38,890 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:06:38,890 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:06:38,890 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:06:38,890 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:06:38,891 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:06:38,891 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:06:38,891 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:06:38,892 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:06:38,892 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:06:38,893 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:06:38,893 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:06:38,893 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:06:38,893 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:06:38,894 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:06:38,894 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:06:38,894 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:06:38,895 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:06:38,895 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:06:38,895 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:06:38,896 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:06:38,896 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:06:38,896 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:06:38,896 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:06:38,897 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:06:38,897 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:06:38,897 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:06:38,898 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:06:38,898 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:06:38,898 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:06:38,899 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:06:38,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume !(~n - 1 >= -2147483648); {36029#false} is VALID [2022-02-21 03:06:38,899 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:06:38,899 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:38,899 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1119309782] [2022-02-21 03:06:38,900 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1119309782] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:38,900 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [691874495] [2022-02-21 03:06:38,900 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 03:06:38,900 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:38,900 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:38,901 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:06:38,916 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:06:38,947 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 03:06:38,947 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 03:06:38,948 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-21 03:06:38,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:38,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:39,159 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:06:39,159 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:06:39,160 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:06:39,160 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:06:39,161 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:06:39,161 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:06:39,161 INFO L290 TraceCheckUtils]: 6: Hoare triple {36032#(<= 0 ackermann_~n)} assume !(0 == ~m); {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:39,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {36032#(<= 0 ackermann_~n)} assume !(0 == ~n); {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:39,162 INFO L290 TraceCheckUtils]: 8: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~m - 1 <= 2147483647; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:39,162 INFO L290 TraceCheckUtils]: 9: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~m - 1 >= -2147483648; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:39,162 INFO L290 TraceCheckUtils]: 10: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~n - 1 <= 2147483647; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:39,163 INFO L290 TraceCheckUtils]: 11: Hoare triple {36032#(<= 0 ackermann_~n)} assume ~n - 1 >= -2147483648; {36032#(<= 0 ackermann_~n)} is VALID [2022-02-21 03:06:39,163 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:06:39,164 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:06:39,164 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:06:39,164 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:06:39,165 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:06:39,165 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:06:39,165 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:06:39,166 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:06:39,166 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:06:39,167 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:06:39,167 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:06:39,167 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:06:39,168 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:06:39,168 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:06:39,168 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:06:39,168 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:06:39,169 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:06:39,169 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:06:39,170 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:06:39,170 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:06:39,170 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:06:39,171 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:06:39,171 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:06:39,171 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:06:39,172 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:06:39,172 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:06:39,173 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:06:39,173 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:06:39,173 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:06:39,173 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:06:39,174 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:06:39,174 INFO L290 TraceCheckUtils]: 43: Hoare triple {36040#(<= 0 (+ ackermann_~n 4))} assume !(~n - 1 >= -2147483648); {36029#false} is VALID [2022-02-21 03:06:39,174 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:06:39,175 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:39,462 INFO L290 TraceCheckUtils]: 43: Hoare triple {36173#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {36029#false} is VALID [2022-02-21 03:06:39,463 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:06:39,463 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:06:39,463 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:06:39,464 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:06:39,464 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:06:39,464 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:06:39,465 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:06:39,465 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:06:39,466 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:06:39,466 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:06:39,466 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:06:39,467 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:06:39,467 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:06:39,467 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:06:39,468 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:06:39,468 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:06:39,468 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:06:39,469 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:06:39,491 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:06:39,492 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:06:39,492 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:06:39,493 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:06:39,494 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:06:39,494 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:06:39,495 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:06:39,495 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:06:39,495 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:06:39,496 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:06:39,496 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:06:39,497 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:06:39,497 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:06:39,498 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:06:39,498 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:06:39,498 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:06:39,499 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:06:39,499 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:06:39,499 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:06:39,500 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:06:39,500 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:06:39,500 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:06:39,501 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:06:39,501 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:06:39,501 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:06:39,501 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:06:39,501 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [691874495] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:06:39,501 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:06:39,501 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12, 12] total 23 [2022-02-21 03:06:39,501 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2136442265] [2022-02-21 03:06:39,502 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:06:39,502 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:06:39,502 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:39,502 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:06:39,549 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:06:39,550 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-02-21 03:06:39,550 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:39,550 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-02-21 03:06:39,550 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=416, Unknown=0, NotChecked=0, Total=552 [2022-02-21 03:06:39,550 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:06:43,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:43,654 INFO L93 Difference]: Finished difference Result 2055 states and 2762 transitions. [2022-02-21 03:06:43,654 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-02-21 03:06:43,654 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:06:43,654 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:43,654 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:06:43,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 314 transitions. [2022-02-21 03:06:43,657 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:06:43,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 314 transitions. [2022-02-21 03:06:43,659 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states and 314 transitions. [2022-02-21 03:06:43,867 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:06:44,022 INFO L225 Difference]: With dead ends: 2055 [2022-02-21 03:06:44,023 INFO L226 Difference]: Without dead ends: 2054 [2022-02-21 03:06:44,024 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:06:44,024 INFO L933 BasicCegarLoop]: 49 mSDtfsCounter, 530 mSDsluCounter, 377 mSDsCounter, 0 mSdLazyCounter, 449 mSolverCounterSat, 162 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:44,024 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.5s Time] [2022-02-21 03:06:44,025 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2054 states. [2022-02-21 03:06:46,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2054 to 1759. [2022-02-21 03:06:46,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:46,062 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:06:46,064 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:06:46,065 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:06:46,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:46,185 INFO L93 Difference]: Finished difference Result 2054 states and 2726 transitions. [2022-02-21 03:06:46,185 INFO L276 IsEmpty]: Start isEmpty. Operand 2054 states and 2726 transitions. [2022-02-21 03:06:46,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:46,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:46,194 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:06:46,195 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:06:46,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:46,314 INFO L93 Difference]: Finished difference Result 2054 states and 2726 transitions. [2022-02-21 03:06:46,314 INFO L276 IsEmpty]: Start isEmpty. Operand 2054 states and 2726 transitions. [2022-02-21 03:06:46,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:46,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:46,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:46,320 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:46,323 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:06:46,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1759 states to 1759 states and 2203 transitions. [2022-02-21 03:06:46,427 INFO L78 Accepts]: Start accepts. Automaton has 1759 states and 2203 transitions. Word has length 44 [2022-02-21 03:06:46,428 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:46,428 INFO L470 AbstractCegarLoop]: Abstraction has 1759 states and 2203 transitions. [2022-02-21 03:06:46,428 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:06:46,428 INFO L276 IsEmpty]: Start isEmpty. Operand 1759 states and 2203 transitions. [2022-02-21 03:06:46,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-21 03:06:46,429 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:46,429 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:06:46,449 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-02-21 03:06:46,643 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:06:46,643 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:06:46,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:46,644 INFO L85 PathProgramCache]: Analyzing trace with hash 1560392739, now seen corresponding path program 2 times [2022-02-21 03:06:46,644 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:46,644 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [94737721] [2022-02-21 03:06:46,644 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:46,644 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:46,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:46,700 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:06:46,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:46,734 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:06:46,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:46,760 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:06:46,761 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:06:46,761 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:06:46,762 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:06:46,762 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:06:46,763 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:06:46,763 INFO L290 TraceCheckUtils]: 0: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:06:46,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:06:46,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {45076#true} assume 0 == ~n; {45076#true} is VALID [2022-02-21 03:06:46,763 INFO L290 TraceCheckUtils]: 3: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:46,763 INFO L290 TraceCheckUtils]: 4: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:46,763 INFO L272 TraceCheckUtils]: 5: Hoare triple {45076#true} call #t~ret4 := ackermann(~m - 1, 1); {45076#true} is VALID [2022-02-21 03:06:46,763 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:06:46,764 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:06:46,764 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:06:46,764 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:06:46,765 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:06:46,765 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:06:46,770 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:06:46,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {45105#(<= 2 |ackermann_#res|)} assume true; {45105#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:06:46,771 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:06:46,771 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:06:46,771 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:06:46,771 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:06:46,771 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:06:46,772 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:06:46,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:06:46,772 INFO L290 TraceCheckUtils]: 6: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:06:46,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {45076#true} assume !(0 == ~n); {45076#true} is VALID [2022-02-21 03:06:46,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:46,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:46,772 INFO L290 TraceCheckUtils]: 10: Hoare triple {45076#true} assume ~n - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:46,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {45076#true} assume ~n - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:46,772 INFO L272 TraceCheckUtils]: 12: Hoare triple {45076#true} call #t~ret5 := ackermann(~m, ~n - 1); {45076#true} is VALID [2022-02-21 03:06:46,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:06:46,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:06:46,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {45076#true} assume 0 == ~n; {45076#true} is VALID [2022-02-21 03:06:46,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:46,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:46,773 INFO L272 TraceCheckUtils]: 18: Hoare triple {45076#true} call #t~ret4 := ackermann(~m - 1, 1); {45076#true} is VALID [2022-02-21 03:06:46,774 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:06:46,774 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:06:46,774 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:06:46,775 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:06:46,775 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:06:46,775 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:06:46,776 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:06:46,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {45105#(<= 2 |ackermann_#res|)} assume true; {45105#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:06:46,777 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:06:46,777 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:06:46,777 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:06:46,778 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:06:46,778 INFO L290 TraceCheckUtils]: 31: Hoare triple {45095#(<= 2 ackermann_~n)} assume !(0 == ~m); {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:46,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {45095#(<= 2 ackermann_~n)} assume !(0 == ~n); {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:46,778 INFO L290 TraceCheckUtils]: 33: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~m - 1 <= 2147483647; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:46,779 INFO L290 TraceCheckUtils]: 34: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~m - 1 >= -2147483648; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:46,779 INFO L290 TraceCheckUtils]: 35: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~n - 1 <= 2147483647; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:46,779 INFO L290 TraceCheckUtils]: 36: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~n - 1 >= -2147483648; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:46,780 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:06:46,780 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:06:46,780 INFO L290 TraceCheckUtils]: 39: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(0 == ~m); {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:46,781 INFO L290 TraceCheckUtils]: 40: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(0 == ~n); {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:46,781 INFO L290 TraceCheckUtils]: 41: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~m - 1 <= 2147483647; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:46,781 INFO L290 TraceCheckUtils]: 42: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~m - 1 >= -2147483648; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:46,781 INFO L290 TraceCheckUtils]: 43: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~n - 1 <= 2147483647; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:46,782 INFO L290 TraceCheckUtils]: 44: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(~n - 1 >= -2147483648); {45077#false} is VALID [2022-02-21 03:06:46,782 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:06:46,782 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:46,782 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [94737721] [2022-02-21 03:06:46,782 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [94737721] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:46,782 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1179339068] [2022-02-21 03:06:46,782 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-21 03:06:46,782 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:46,783 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:46,784 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:06:46,785 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:06:46,820 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-21 03:06:46,820 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-21 03:06:46,821 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-21 03:06:46,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:46,835 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:47,038 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:06:47,038 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:06:47,038 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:06:47,038 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:06:47,038 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:06:47,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:06:47,038 INFO L290 TraceCheckUtils]: 6: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:06:47,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {45076#true} assume !(0 == ~n); {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L290 TraceCheckUtils]: 10: Hoare triple {45076#true} assume ~n - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {45076#true} assume ~n - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L272 TraceCheckUtils]: 12: Hoare triple {45076#true} call #t~ret5 := ackermann(~m, ~n - 1); {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L290 TraceCheckUtils]: 13: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L290 TraceCheckUtils]: 14: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L290 TraceCheckUtils]: 15: Hoare triple {45076#true} assume 0 == ~n; {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L290 TraceCheckUtils]: 16: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L290 TraceCheckUtils]: 17: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:47,039 INFO L272 TraceCheckUtils]: 18: Hoare triple {45076#true} call #t~ret4 := ackermann(~m - 1, 1); {45076#true} is VALID [2022-02-21 03:06:47,039 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:06:47,040 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:06:47,040 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:06:47,040 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:06:47,041 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:06:47,041 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:06:47,042 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:06:47,042 INFO L290 TraceCheckUtils]: 26: Hoare triple {45105#(<= 2 |ackermann_#res|)} assume true; {45105#(<= 2 |ackermann_#res|)} is VALID [2022-02-21 03:06:47,043 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:06:47,043 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:06:47,043 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:06:47,044 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:06:47,044 INFO L290 TraceCheckUtils]: 31: Hoare triple {45095#(<= 2 ackermann_~n)} assume !(0 == ~m); {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:47,045 INFO L290 TraceCheckUtils]: 32: Hoare triple {45095#(<= 2 ackermann_~n)} assume !(0 == ~n); {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:47,045 INFO L290 TraceCheckUtils]: 33: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~m - 1 <= 2147483647; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:47,045 INFO L290 TraceCheckUtils]: 34: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~m - 1 >= -2147483648; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:47,046 INFO L290 TraceCheckUtils]: 35: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~n - 1 <= 2147483647; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:47,046 INFO L290 TraceCheckUtils]: 36: Hoare triple {45095#(<= 2 ackermann_~n)} assume ~n - 1 >= -2147483648; {45095#(<= 2 ackermann_~n)} is VALID [2022-02-21 03:06:47,047 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:06:47,047 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:06:47,047 INFO L290 TraceCheckUtils]: 39: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(0 == ~m); {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:47,047 INFO L290 TraceCheckUtils]: 40: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(0 == ~n); {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:47,048 INFO L290 TraceCheckUtils]: 41: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~m - 1 <= 2147483647; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:47,048 INFO L290 TraceCheckUtils]: 42: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~m - 1 >= -2147483648; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:47,048 INFO L290 TraceCheckUtils]: 43: Hoare triple {45097#(<= 1 ackermann_~n)} assume ~n - 1 <= 2147483647; {45097#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:47,049 INFO L290 TraceCheckUtils]: 44: Hoare triple {45097#(<= 1 ackermann_~n)} assume !(~n - 1 >= -2147483648); {45077#false} is VALID [2022-02-21 03:06:47,049 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:06:47,049 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:47,572 INFO L290 TraceCheckUtils]: 44: Hoare triple {45245#(<= 0 (+ ackermann_~n 2147483647))} assume !(~n - 1 >= -2147483648); {45077#false} is VALID [2022-02-21 03:06:47,573 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:06:47,573 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:06:47,573 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:06:47,574 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:06:47,574 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:06:47,575 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:06:47,575 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:06:47,576 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:06:47,576 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:06:47,576 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:06:47,576 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:06:47,577 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:06:47,577 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:06:47,577 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:06:47,578 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:06:47,578 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:06:47,579 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:06:47,579 INFO L290 TraceCheckUtils]: 26: Hoare triple {45304#(<= 0 (+ |ackermann_#res| 2147483646))} assume true; {45304#(<= 0 (+ |ackermann_#res| 2147483646))} is VALID [2022-02-21 03:06:47,579 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:06:47,580 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:06:47,580 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:06:47,581 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:06:47,581 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:06:47,581 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:06:47,582 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:06:47,582 INFO L272 TraceCheckUtils]: 18: Hoare triple {45076#true} call #t~ret4 := ackermann(~m - 1, 1); {45076#true} is VALID [2022-02-21 03:06:47,582 INFO L290 TraceCheckUtils]: 17: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:47,582 INFO L290 TraceCheckUtils]: 16: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:47,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {45076#true} assume 0 == ~n; {45076#true} is VALID [2022-02-21 03:06:47,582 INFO L290 TraceCheckUtils]: 14: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:06:47,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:06:47,582 INFO L272 TraceCheckUtils]: 12: Hoare triple {45076#true} call #t~ret5 := ackermann(~m, ~n - 1); {45076#true} is VALID [2022-02-21 03:06:47,582 INFO L290 TraceCheckUtils]: 11: Hoare triple {45076#true} assume ~n - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:47,583 INFO L290 TraceCheckUtils]: 10: Hoare triple {45076#true} assume ~n - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:47,583 INFO L290 TraceCheckUtils]: 9: Hoare triple {45076#true} assume ~m - 1 >= -2147483648; {45076#true} is VALID [2022-02-21 03:06:47,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {45076#true} assume ~m - 1 <= 2147483647; {45076#true} is VALID [2022-02-21 03:06:47,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {45076#true} assume !(0 == ~n); {45076#true} is VALID [2022-02-21 03:06:47,583 INFO L290 TraceCheckUtils]: 6: Hoare triple {45076#true} assume !(0 == ~m); {45076#true} is VALID [2022-02-21 03:06:47,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {45076#true} ~m := #in~m;~n := #in~n; {45076#true} is VALID [2022-02-21 03:06:47,584 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:06:47,584 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:06:47,584 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:06:47,584 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:06:47,584 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:06:47,584 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:06:47,585 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1179339068] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:06:47,585 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:06:47,585 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 10] total 21 [2022-02-21 03:06:47,585 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [719771881] [2022-02-21 03:06:47,585 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:06:47,586 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:06:47,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:47,586 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:06:47,633 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:06:47,634 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-02-21 03:06:47,634 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:47,634 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-02-21 03:06:47,634 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=394, Unknown=0, NotChecked=0, Total=462 [2022-02-21 03:06:47,635 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:06:53,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:53,721 INFO L93 Difference]: Finished difference Result 3798 states and 5493 transitions. [2022-02-21 03:06:53,721 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-02-21 03:06:53,721 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:06:53,721 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:06:53,721 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:06:53,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 250 transitions. [2022-02-21 03:06:53,724 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:06:53,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 250 transitions. [2022-02-21 03:06:53,727 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 250 transitions. [2022-02-21 03:06:53,908 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:06:54,170 INFO L225 Difference]: With dead ends: 3798 [2022-02-21 03:06:54,170 INFO L226 Difference]: Without dead ends: 2636 [2022-02-21 03:06:54,176 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:06:54,176 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 268 mSDsluCounter, 273 mSDsCounter, 0 mSdLazyCounter, 697 mSolverCounterSat, 368 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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, 0.9s IncrementalHoareTripleChecker+Time [2022-02-21 03:06:54,176 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [268 Valid, 309 Invalid, 1065 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [368 Valid, 697 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-21 03:06:54,178 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2636 states. [2022-02-21 03:06:56,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2636 to 1939. [2022-02-21 03:06:56,571 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:06:56,572 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:06:56,574 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:06:56,575 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:06:56,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:56,778 INFO L93 Difference]: Finished difference Result 2636 states and 3698 transitions. [2022-02-21 03:06:56,778 INFO L276 IsEmpty]: Start isEmpty. Operand 2636 states and 3698 transitions. [2022-02-21 03:06:56,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:56,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:56,788 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:06:56,789 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:06:56,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:06:56,995 INFO L93 Difference]: Finished difference Result 2636 states and 3698 transitions. [2022-02-21 03:06:56,995 INFO L276 IsEmpty]: Start isEmpty. Operand 2636 states and 3698 transitions. [2022-02-21 03:06:57,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:06:57,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:06:57,003 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:06:57,003 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:06:57,005 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:06:57,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1939 states to 1939 states and 2410 transitions. [2022-02-21 03:06:57,137 INFO L78 Accepts]: Start accepts. Automaton has 1939 states and 2410 transitions. Word has length 45 [2022-02-21 03:06:57,137 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:06:57,137 INFO L470 AbstractCegarLoop]: Abstraction has 1939 states and 2410 transitions. [2022-02-21 03:06:57,137 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:06:57,138 INFO L276 IsEmpty]: Start isEmpty. Operand 1939 states and 2410 transitions. [2022-02-21 03:06:57,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-21 03:06:57,138 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:06:57,139 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:06:57,154 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:06:57,339 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:06:57,339 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:06:57,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:06:57,340 INFO L85 PathProgramCache]: Analyzing trace with hash -242379077, now seen corresponding path program 1 times [2022-02-21 03:06:57,340 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:06:57,340 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2144193166] [2022-02-21 03:06:57,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:57,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:06:57,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:57,378 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-02-21 03:06:57,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:57,396 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:06:57,396 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:06:57,396 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:06:57,397 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:06:57,397 INFO L290 TraceCheckUtils]: 4: Hoare triple {57617#(= |ackermann_#in~m| 0)} assume true; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:06:57,398 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:06:57,398 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:06:57,398 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:06:57,398 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:06:57,398 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:06:57,398 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:06:57,398 INFO L290 TraceCheckUtils]: 5: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,398 INFO L290 TraceCheckUtils]: 6: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,399 INFO L290 TraceCheckUtils]: 7: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:06:57,399 INFO L290 TraceCheckUtils]: 8: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,399 INFO L290 TraceCheckUtils]: 9: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,399 INFO L272 TraceCheckUtils]: 10: Hoare triple {57603#true} call #t~ret4 := ackermann(~m - 1, 1); {57603#true} is VALID [2022-02-21 03:06:57,399 INFO L290 TraceCheckUtils]: 11: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,399 INFO L290 TraceCheckUtils]: 12: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {57603#true} assume !(0 == ~n); {57603#true} is VALID [2022-02-21 03:06:57,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,399 INFO L290 TraceCheckUtils]: 15: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,400 INFO L290 TraceCheckUtils]: 16: Hoare triple {57603#true} assume ~n - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,400 INFO L290 TraceCheckUtils]: 17: Hoare triple {57603#true} assume ~n - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,400 INFO L272 TraceCheckUtils]: 18: Hoare triple {57603#true} call #t~ret5 := ackermann(~m, ~n - 1); {57603#true} is VALID [2022-02-21 03:06:57,400 INFO L290 TraceCheckUtils]: 19: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,400 INFO L290 TraceCheckUtils]: 20: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,400 INFO L290 TraceCheckUtils]: 21: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:06:57,400 INFO L290 TraceCheckUtils]: 22: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,400 INFO L290 TraceCheckUtils]: 23: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,401 INFO L272 TraceCheckUtils]: 24: Hoare triple {57603#true} call #t~ret4 := ackermann(~m - 1, 1); {57603#true} is VALID [2022-02-21 03:06:57,401 INFO L290 TraceCheckUtils]: 25: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,401 INFO L290 TraceCheckUtils]: 26: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,401 INFO L290 TraceCheckUtils]: 27: Hoare triple {57603#true} assume !(0 == ~n); {57603#true} is VALID [2022-02-21 03:06:57,401 INFO L290 TraceCheckUtils]: 28: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {57603#true} assume ~n - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,401 INFO L290 TraceCheckUtils]: 31: Hoare triple {57603#true} assume ~n - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,401 INFO L272 TraceCheckUtils]: 32: Hoare triple {57603#true} call #t~ret5 := ackermann(~m, ~n - 1); {57603#true} is VALID [2022-02-21 03:06:57,402 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:06:57,402 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:06:57,402 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:06:57,403 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:06:57,403 INFO L290 TraceCheckUtils]: 37: Hoare triple {57617#(= |ackermann_#in~m| 0)} assume true; {57617#(= |ackermann_#in~m| 0)} is VALID [2022-02-21 03:06:57,403 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:06:57,404 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:06:57,404 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:06:57,404 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:06:57,405 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:06:57,405 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:06:57,405 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:06:57,406 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:06:57,406 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:06:57,406 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:06:57,407 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:06:57,407 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:06:57,407 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:06:57,408 INFO L290 TraceCheckUtils]: 51: Hoare triple {57615#(<= 0 (+ ackermann_~m 2))} assume !(~m - 1 >= -2147483648); {57604#false} is VALID [2022-02-21 03:06:57,408 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:06:57,408 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:06:57,408 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2144193166] [2022-02-21 03:06:57,408 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2144193166] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:06:57,408 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [425486549] [2022-02-21 03:06:57,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:06:57,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:06:57,409 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:06:57,410 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:06:57,411 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:06:57,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:57,450 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-21 03:06:57,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:06:57,459 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:06:57,652 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:06:57,652 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:06:57,652 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:06:57,653 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:06:57,653 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:06:57,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 6: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 8: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L272 TraceCheckUtils]: 10: Hoare triple {57603#true} call #t~ret4 := ackermann(~m - 1, 1); {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 12: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {57603#true} assume !(0 == ~n); {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 15: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 16: Hoare triple {57603#true} assume ~n - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L290 TraceCheckUtils]: 17: Hoare triple {57603#true} assume ~n - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,653 INFO L272 TraceCheckUtils]: 18: Hoare triple {57603#true} call #t~ret5 := ackermann(~m, ~n - 1); {57603#true} is VALID [2022-02-21 03:06:57,654 INFO L290 TraceCheckUtils]: 19: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,654 INFO L290 TraceCheckUtils]: 20: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,654 INFO L290 TraceCheckUtils]: 21: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:06:57,654 INFO L290 TraceCheckUtils]: 22: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,654 INFO L290 TraceCheckUtils]: 23: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,654 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:06:57,655 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:06:57,655 INFO L290 TraceCheckUtils]: 26: Hoare triple {57697#(<= 1 ackermann_~n)} assume !(0 == ~m); {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,655 INFO L290 TraceCheckUtils]: 27: Hoare triple {57697#(<= 1 ackermann_~n)} assume !(0 == ~n); {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,655 INFO L290 TraceCheckUtils]: 28: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~m - 1 <= 2147483647; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,656 INFO L290 TraceCheckUtils]: 29: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~m - 1 >= -2147483648; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~n - 1 <= 2147483647; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,656 INFO L290 TraceCheckUtils]: 31: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~n - 1 >= -2147483648; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,656 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:06:57,656 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:06:57,657 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:06:57,657 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:06:57,657 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:06:57,658 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:06:57,658 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:06:57,659 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:06:57,659 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:06:57,659 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:06:57,663 INFO L290 TraceCheckUtils]: 42: Hoare triple {57697#(<= 1 ackermann_~n)} assume !(0 == ~m); {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,663 INFO L290 TraceCheckUtils]: 43: Hoare triple {57697#(<= 1 ackermann_~n)} assume 0 == ~n; {57604#false} is VALID [2022-02-21 03:06:57,663 INFO L290 TraceCheckUtils]: 44: Hoare triple {57604#false} assume ~m - 1 <= 2147483647; {57604#false} is VALID [2022-02-21 03:06:57,664 INFO L290 TraceCheckUtils]: 45: Hoare triple {57604#false} assume ~m - 1 >= -2147483648; {57604#false} is VALID [2022-02-21 03:06:57,664 INFO L272 TraceCheckUtils]: 46: Hoare triple {57604#false} call #t~ret4 := ackermann(~m - 1, 1); {57604#false} is VALID [2022-02-21 03:06:57,664 INFO L290 TraceCheckUtils]: 47: Hoare triple {57604#false} ~m := #in~m;~n := #in~n; {57604#false} is VALID [2022-02-21 03:06:57,664 INFO L290 TraceCheckUtils]: 48: Hoare triple {57604#false} assume !(0 == ~m); {57604#false} is VALID [2022-02-21 03:06:57,664 INFO L290 TraceCheckUtils]: 49: Hoare triple {57604#false} assume !(0 == ~n); {57604#false} is VALID [2022-02-21 03:06:57,664 INFO L290 TraceCheckUtils]: 50: Hoare triple {57604#false} assume ~m - 1 <= 2147483647; {57604#false} is VALID [2022-02-21 03:06:57,664 INFO L290 TraceCheckUtils]: 51: Hoare triple {57604#false} assume !(~m - 1 >= -2147483648); {57604#false} is VALID [2022-02-21 03:06:57,665 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:06:57,665 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-21 03:06:57,961 INFO L290 TraceCheckUtils]: 51: Hoare triple {57604#false} assume !(~m - 1 >= -2147483648); {57604#false} is VALID [2022-02-21 03:06:57,961 INFO L290 TraceCheckUtils]: 50: Hoare triple {57604#false} assume ~m - 1 <= 2147483647; {57604#false} is VALID [2022-02-21 03:06:57,962 INFO L290 TraceCheckUtils]: 49: Hoare triple {57604#false} assume !(0 == ~n); {57604#false} is VALID [2022-02-21 03:06:57,962 INFO L290 TraceCheckUtils]: 48: Hoare triple {57604#false} assume !(0 == ~m); {57604#false} is VALID [2022-02-21 03:06:57,962 INFO L290 TraceCheckUtils]: 47: Hoare triple {57604#false} ~m := #in~m;~n := #in~n; {57604#false} is VALID [2022-02-21 03:06:57,962 INFO L272 TraceCheckUtils]: 46: Hoare triple {57604#false} call #t~ret4 := ackermann(~m - 1, 1); {57604#false} is VALID [2022-02-21 03:06:57,962 INFO L290 TraceCheckUtils]: 45: Hoare triple {57604#false} assume ~m - 1 >= -2147483648; {57604#false} is VALID [2022-02-21 03:06:57,962 INFO L290 TraceCheckUtils]: 44: Hoare triple {57604#false} assume ~m - 1 <= 2147483647; {57604#false} is VALID [2022-02-21 03:06:57,962 INFO L290 TraceCheckUtils]: 43: Hoare triple {57697#(<= 1 ackermann_~n)} assume 0 == ~n; {57604#false} is VALID [2022-02-21 03:06:57,962 INFO L290 TraceCheckUtils]: 42: Hoare triple {57697#(<= 1 ackermann_~n)} assume !(0 == ~m); {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,963 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:06:57,965 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:06:57,967 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:06:57,968 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {57821#(or (< |ackermann_#in~n| 0) (<= 1 |ackermann_#res|))} {57697#(<= 1 ackermann_~n)} #62#return; {57739#(<= 1 |ackermann_#t~ret5|)} is VALID [2022-02-21 03:06:57,968 INFO L290 TraceCheckUtils]: 37: Hoare triple {57821#(or (< |ackermann_#in~n| 0) (<= 1 |ackermann_#res|))} assume true; {57821#(or (< |ackermann_#in~n| 0) (<= 1 |ackermann_#res|))} is VALID [2022-02-21 03:06:57,969 INFO L290 TraceCheckUtils]: 36: Hoare triple {57828#(or (< |ackermann_#in~n| 0) (<= 0 ackermann_~n))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {57821#(or (< |ackermann_#in~n| 0) (<= 1 |ackermann_#res|))} is VALID [2022-02-21 03:06:57,969 INFO L290 TraceCheckUtils]: 35: Hoare triple {57828#(or (< |ackermann_#in~n| 0) (<= 0 ackermann_~n))} assume 1 + ~n <= 2147483647; {57828#(or (< |ackermann_#in~n| 0) (<= 0 ackermann_~n))} is VALID [2022-02-21 03:06:57,970 INFO L290 TraceCheckUtils]: 34: Hoare triple {57828#(or (< |ackermann_#in~n| 0) (<= 0 ackermann_~n))} assume 0 == ~m; {57828#(or (< |ackermann_#in~n| 0) (<= 0 ackermann_~n))} is VALID [2022-02-21 03:06:57,970 INFO L290 TraceCheckUtils]: 33: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57828#(or (< |ackermann_#in~n| 0) (<= 0 ackermann_~n))} is VALID [2022-02-21 03:06:57,970 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:06:57,970 INFO L290 TraceCheckUtils]: 31: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~n - 1 >= -2147483648; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,970 INFO L290 TraceCheckUtils]: 30: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~n - 1 <= 2147483647; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,971 INFO L290 TraceCheckUtils]: 29: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~m - 1 >= -2147483648; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,971 INFO L290 TraceCheckUtils]: 28: Hoare triple {57697#(<= 1 ackermann_~n)} assume ~m - 1 <= 2147483647; {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,971 INFO L290 TraceCheckUtils]: 27: Hoare triple {57697#(<= 1 ackermann_~n)} assume !(0 == ~n); {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {57697#(<= 1 ackermann_~n)} assume !(0 == ~m); {57697#(<= 1 ackermann_~n)} is VALID [2022-02-21 03:06:57,975 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:06:57,983 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:06:57,983 INFO L290 TraceCheckUtils]: 23: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 22: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 21: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 20: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 19: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L272 TraceCheckUtils]: 18: Hoare triple {57603#true} call #t~ret5 := ackermann(~m, ~n - 1); {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 17: Hoare triple {57603#true} assume ~n - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {57603#true} assume ~n - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {57603#true} assume !(0 == ~n); {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 12: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 11: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L272 TraceCheckUtils]: 10: Hoare triple {57603#true} call #t~ret4 := ackermann(~m - 1, 1); {57603#true} is VALID [2022-02-21 03:06:57,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {57603#true} assume ~m - 1 >= -2147483648; {57603#true} is VALID [2022-02-21 03:06:57,985 INFO L290 TraceCheckUtils]: 8: Hoare triple {57603#true} assume ~m - 1 <= 2147483647; {57603#true} is VALID [2022-02-21 03:06:57,985 INFO L290 TraceCheckUtils]: 7: Hoare triple {57603#true} assume 0 == ~n; {57603#true} is VALID [2022-02-21 03:06:57,985 INFO L290 TraceCheckUtils]: 6: Hoare triple {57603#true} assume !(0 == ~m); {57603#true} is VALID [2022-02-21 03:06:57,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {57603#true} ~m := #in~m;~n := #in~n; {57603#true} is VALID [2022-02-21 03:06:57,985 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:06:57,985 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:06:57,985 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:06:57,985 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:06:57,985 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:06:57,985 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 55 proven. 2 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-21 03:06:57,985 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [425486549] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-21 03:06:57,985 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-21 03:06:57,985 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 16 [2022-02-21 03:06:57,986 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [652634660] [2022-02-21 03:06:57,986 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-21 03:06:57,986 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.5) internal successors, (56), 13 states have internal predecessors, (56), 6 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-02-21 03:06:57,986 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-21 03:06:57,986 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 3.5) internal successors, (56), 13 states have internal predecessors, (56), 6 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:06:58,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:06:58,023 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-21 03:06:58,023 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-21 03:06:58,023 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-21 03:06:58,024 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=202, Unknown=0, NotChecked=0, Total=240 [2022-02-21 03:06:58,024 INFO L87 Difference]: Start difference. First operand 1939 states and 2410 transitions. Second operand has 16 states, 16 states have (on average 3.5) internal successors, (56), 13 states have internal predecessors, (56), 6 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:07:02,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:02,575 INFO L93 Difference]: Finished difference Result 2482 states and 3263 transitions. [2022-02-21 03:07:02,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-02-21 03:07:02,575 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.5) internal successors, (56), 13 states have internal predecessors, (56), 6 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 52 [2022-02-21 03:07:02,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-21 03:07:02,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.5) internal successors, (56), 13 states have internal predecessors, (56), 6 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:07:02,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 135 transitions. [2022-02-21 03:07:02,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.5) internal successors, (56), 13 states have internal predecessors, (56), 6 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:07:02,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 135 transitions. [2022-02-21 03:07:02,578 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 135 transitions. [2022-02-21 03:07:02,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-21 03:07:02,868 INFO L225 Difference]: With dead ends: 2482 [2022-02-21 03:07:02,869 INFO L226 Difference]: Without dead ends: 2379 [2022-02-21 03:07:02,869 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 132 GetRequests, 97 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 227 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=334, Invalid=926, Unknown=0, NotChecked=0, Total=1260 [2022-02-21 03:07:02,870 INFO L933 BasicCegarLoop]: 18 mSDtfsCounter, 206 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 145 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 206 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 619 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 145 IncrementalHoareTripleChecker+Valid, 474 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-21 03:07:02,870 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [206 Valid, 81 Invalid, 619 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [145 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-21 03:07:02,871 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2379 states. [2022-02-21 03:07:05,282 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2379 to 1873. [2022-02-21 03:07:05,282 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-21 03:07:05,284 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2379 states. Second operand has 1873 states, 1411 states have (on average 1.133238837703756) internal successors, (1599), 1473 states have internal predecessors, (1599), 286 states have call successors, (286), 102 states have call predecessors, (286), 172 states have return successors, (443), 297 states have call predecessors, (443), 245 states have call successors, (443) [2022-02-21 03:07:05,285 INFO L74 IsIncluded]: Start isIncluded. First operand 2379 states. Second operand has 1873 states, 1411 states have (on average 1.133238837703756) internal successors, (1599), 1473 states have internal predecessors, (1599), 286 states have call successors, (286), 102 states have call predecessors, (286), 172 states have return successors, (443), 297 states have call predecessors, (443), 245 states have call successors, (443) [2022-02-21 03:07:05,286 INFO L87 Difference]: Start difference. First operand 2379 states. Second operand has 1873 states, 1411 states have (on average 1.133238837703756) internal successors, (1599), 1473 states have internal predecessors, (1599), 286 states have call successors, (286), 102 states have call predecessors, (286), 172 states have return successors, (443), 297 states have call predecessors, (443), 245 states have call successors, (443) [2022-02-21 03:07:05,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:05,438 INFO L93 Difference]: Finished difference Result 2379 states and 3136 transitions. [2022-02-21 03:07:05,438 INFO L276 IsEmpty]: Start isEmpty. Operand 2379 states and 3136 transitions. [2022-02-21 03:07:05,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:05,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:05,445 INFO L74 IsIncluded]: Start isIncluded. First operand has 1873 states, 1411 states have (on average 1.133238837703756) internal successors, (1599), 1473 states have internal predecessors, (1599), 286 states have call successors, (286), 102 states have call predecessors, (286), 172 states have return successors, (443), 297 states have call predecessors, (443), 245 states have call successors, (443) Second operand 2379 states. [2022-02-21 03:07:05,446 INFO L87 Difference]: Start difference. First operand has 1873 states, 1411 states have (on average 1.133238837703756) internal successors, (1599), 1473 states have internal predecessors, (1599), 286 states have call successors, (286), 102 states have call predecessors, (286), 172 states have return successors, (443), 297 states have call predecessors, (443), 245 states have call successors, (443) Second operand 2379 states. [2022-02-21 03:07:05,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-21 03:07:05,597 INFO L93 Difference]: Finished difference Result 2379 states and 3136 transitions. [2022-02-21 03:07:05,597 INFO L276 IsEmpty]: Start isEmpty. Operand 2379 states and 3136 transitions. [2022-02-21 03:07:05,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-21 03:07:05,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-21 03:07:05,602 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-21 03:07:05,602 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-21 03:07:05,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1873 states, 1411 states have (on average 1.133238837703756) internal successors, (1599), 1473 states have internal predecessors, (1599), 286 states have call successors, (286), 102 states have call predecessors, (286), 172 states have return successors, (443), 297 states have call predecessors, (443), 245 states have call successors, (443) [2022-02-21 03:07:05,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1873 states to 1873 states and 2328 transitions. [2022-02-21 03:07:05,723 INFO L78 Accepts]: Start accepts. Automaton has 1873 states and 2328 transitions. Word has length 52 [2022-02-21 03:07:05,723 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-21 03:07:05,723 INFO L470 AbstractCegarLoop]: Abstraction has 1873 states and 2328 transitions. [2022-02-21 03:07:05,723 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 3.5) internal successors, (56), 13 states have internal predecessors, (56), 6 states have call successors, (9), 5 states have call predecessors, (9), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-21 03:07:05,723 INFO L276 IsEmpty]: Start isEmpty. Operand 1873 states and 2328 transitions. [2022-02-21 03:07:05,724 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-21 03:07:05,724 INFO L506 BasicCegarLoop]: Found error trace [2022-02-21 03:07:05,724 INFO L514 BasicCegarLoop]: trace histogram [6, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-21 03:07:05,740 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-02-21 03:07:05,925 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-02-21 03:07:05,925 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW === [ackermannErr0ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr1ASSERT_VIOLATIONINTEGER_OVERFLOW, ackermannErr2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 5 more)] === [2022-02-21 03:07:05,925 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-21 03:07:05,926 INFO L85 PathProgramCache]: Analyzing trace with hash 442862615, now seen corresponding path program 1 times [2022-02-21 03:07:05,926 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-21 03:07:05,926 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2134774189] [2022-02-21 03:07:05,926 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:05,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-21 03:07:05,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:05,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-21 03:07:05,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:06,011 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-21 03:07:06,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:06,033 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-02-21 03:07:06,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:06,058 INFO L290 TraceCheckUtils]: 0: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,059 INFO L290 TraceCheckUtils]: 3: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:06,060 INFO L290 TraceCheckUtils]: 4: Hoare triple {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} assume true; {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:06,060 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} {68015#true} #60#return; {68084#(<= |ackermann_#t~ret4| 2)} is VALID [2022-02-21 03:07:06,061 INFO L290 TraceCheckUtils]: 0: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68015#true} is VALID [2022-02-21 03:07:06,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {68015#true} assume !(0 == ~m); {68015#true} is VALID [2022-02-21 03:07:06,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {68015#true} assume 0 == ~n; {68015#true} is VALID [2022-02-21 03:07:06,061 INFO L290 TraceCheckUtils]: 3: Hoare triple {68015#true} assume ~m - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,061 INFO L290 TraceCheckUtils]: 4: Hoare triple {68015#true} assume ~m - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,061 INFO L272 TraceCheckUtils]: 5: Hoare triple {68015#true} call #t~ret4 := ackermann(~m - 1, 1); {68015#true} is VALID [2022-02-21 03:07:06,061 INFO L290 TraceCheckUtils]: 6: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,062 INFO L290 TraceCheckUtils]: 7: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:06,063 INFO L290 TraceCheckUtils]: 10: Hoare triple {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} assume true; {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:06,063 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} {68015#true} #60#return; {68084#(<= |ackermann_#t~ret4| 2)} is VALID [2022-02-21 03:07:06,064 INFO L290 TraceCheckUtils]: 12: Hoare triple {68084#(<= |ackermann_#t~ret4| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {68085#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:06,064 INFO L290 TraceCheckUtils]: 13: Hoare triple {68085#(<= |ackermann_#res| 2)} assume true; {68085#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:06,065 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {68085#(<= |ackermann_#res| 2)} {68015#true} #62#return; {68069#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:06,065 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-02-21 03:07:06,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:06,089 INFO L290 TraceCheckUtils]: 0: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68088#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,089 INFO L290 TraceCheckUtils]: 1: Hoare triple {68088#(= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {68088#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {68088#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {68088#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,090 INFO L290 TraceCheckUtils]: 3: Hoare triple {68088#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,090 INFO L290 TraceCheckUtils]: 4: Hoare triple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} assume true; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,091 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} {68069#(<= |ackermann_#t~ret5| 2)} #64#return; {68076#(<= |ackermann_#t~ret6| 3)} is VALID [2022-02-21 03:07:06,091 INFO L290 TraceCheckUtils]: 0: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68015#true} is VALID [2022-02-21 03:07:06,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {68015#true} assume !(0 == ~m); {68015#true} is VALID [2022-02-21 03:07:06,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {68015#true} assume !(0 == ~n); {68015#true} is VALID [2022-02-21 03:07:06,091 INFO L290 TraceCheckUtils]: 3: Hoare triple {68015#true} assume ~m - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L290 TraceCheckUtils]: 4: Hoare triple {68015#true} assume ~m - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {68015#true} assume ~n - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L290 TraceCheckUtils]: 6: Hoare triple {68015#true} assume ~n - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L272 TraceCheckUtils]: 7: Hoare triple {68015#true} call #t~ret5 := ackermann(~m, ~n - 1); {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {68015#true} assume !(0 == ~m); {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L290 TraceCheckUtils]: 10: Hoare triple {68015#true} assume 0 == ~n; {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L290 TraceCheckUtils]: 11: Hoare triple {68015#true} assume ~m - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L290 TraceCheckUtils]: 12: Hoare triple {68015#true} assume ~m - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L272 TraceCheckUtils]: 13: Hoare triple {68015#true} call #t~ret4 := ackermann(~m - 1, 1); {68015#true} is VALID [2022-02-21 03:07:06,092 INFO L290 TraceCheckUtils]: 14: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,093 INFO L290 TraceCheckUtils]: 15: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,093 INFO L290 TraceCheckUtils]: 17: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:06,094 INFO L290 TraceCheckUtils]: 18: Hoare triple {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} assume true; {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:06,094 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} {68015#true} #60#return; {68084#(<= |ackermann_#t~ret4| 2)} is VALID [2022-02-21 03:07:06,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {68084#(<= |ackermann_#t~ret4| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {68085#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:06,095 INFO L290 TraceCheckUtils]: 21: Hoare triple {68085#(<= |ackermann_#res| 2)} assume true; {68085#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:06,107 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {68085#(<= |ackermann_#res| 2)} {68015#true} #62#return; {68069#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:06,108 INFO L290 TraceCheckUtils]: 23: Hoare triple {68069#(<= |ackermann_#t~ret5| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {68069#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:06,108 INFO L272 TraceCheckUtils]: 24: Hoare triple {68069#(<= |ackermann_#t~ret5| 2)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {68015#true} is VALID [2022-02-21 03:07:06,108 INFO L290 TraceCheckUtils]: 25: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68088#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,109 INFO L290 TraceCheckUtils]: 26: Hoare triple {68088#(= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {68088#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,109 INFO L290 TraceCheckUtils]: 27: Hoare triple {68088#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {68088#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,109 INFO L290 TraceCheckUtils]: 28: Hoare triple {68088#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,110 INFO L290 TraceCheckUtils]: 29: Hoare triple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} assume true; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,110 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} {68069#(<= |ackermann_#t~ret5| 2)} #64#return; {68076#(<= |ackermann_#t~ret6| 3)} is VALID [2022-02-21 03:07:06,111 INFO L290 TraceCheckUtils]: 31: Hoare triple {68076#(<= |ackermann_#t~ret6| 3)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;#res := #t~ret6;havoc #t~ret5;havoc #t~ret6; {68077#(<= |ackermann_#res| 3)} is VALID [2022-02-21 03:07:06,111 INFO L290 TraceCheckUtils]: 32: Hoare triple {68077#(<= |ackermann_#res| 3)} assume true; {68077#(<= |ackermann_#res| 3)} is VALID [2022-02-21 03:07:06,112 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {68077#(<= |ackermann_#res| 3)} {68015#true} #62#return; {68051#(<= |ackermann_#t~ret5| 3)} is VALID [2022-02-21 03:07:06,112 INFO L290 TraceCheckUtils]: 0: Hoare triple {68015#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); {68015#true} is VALID [2022-02-21 03:07:06,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {68015#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; {68015#true} is VALID [2022-02-21 03:07:06,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {68015#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; {68015#true} is VALID [2022-02-21 03:07:06,112 INFO L290 TraceCheckUtils]: 3: Hoare triple {68015#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {68015#true} is VALID [2022-02-21 03:07:06,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {68015#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {68015#true} is VALID [2022-02-21 03:07:06,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68015#true} is VALID [2022-02-21 03:07:06,113 INFO L290 TraceCheckUtils]: 6: Hoare triple {68015#true} assume !(0 == ~m); {68015#true} is VALID [2022-02-21 03:07:06,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {68015#true} assume !(0 == ~n); {68015#true} is VALID [2022-02-21 03:07:06,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {68015#true} assume ~m - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {68015#true} assume ~m - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,113 INFO L290 TraceCheckUtils]: 10: Hoare triple {68015#true} assume ~n - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,113 INFO L290 TraceCheckUtils]: 11: Hoare triple {68015#true} assume ~n - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,113 INFO L272 TraceCheckUtils]: 12: Hoare triple {68015#true} call #t~ret5 := ackermann(~m, ~n - 1); {68015#true} is VALID [2022-02-21 03:07:06,114 INFO L290 TraceCheckUtils]: 13: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68015#true} is VALID [2022-02-21 03:07:06,114 INFO L290 TraceCheckUtils]: 14: Hoare triple {68015#true} assume !(0 == ~m); {68015#true} is VALID [2022-02-21 03:07:06,114 INFO L290 TraceCheckUtils]: 15: Hoare triple {68015#true} assume !(0 == ~n); {68015#true} is VALID [2022-02-21 03:07:06,114 INFO L290 TraceCheckUtils]: 16: Hoare triple {68015#true} assume ~m - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,114 INFO L290 TraceCheckUtils]: 17: Hoare triple {68015#true} assume ~m - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,114 INFO L290 TraceCheckUtils]: 18: Hoare triple {68015#true} assume ~n - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,114 INFO L290 TraceCheckUtils]: 19: Hoare triple {68015#true} assume ~n - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,114 INFO L272 TraceCheckUtils]: 20: Hoare triple {68015#true} call #t~ret5 := ackermann(~m, ~n - 1); {68015#true} is VALID [2022-02-21 03:07:06,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68015#true} is VALID [2022-02-21 03:07:06,115 INFO L290 TraceCheckUtils]: 22: Hoare triple {68015#true} assume !(0 == ~m); {68015#true} is VALID [2022-02-21 03:07:06,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {68015#true} assume 0 == ~n; {68015#true} is VALID [2022-02-21 03:07:06,115 INFO L290 TraceCheckUtils]: 24: Hoare triple {68015#true} assume ~m - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,115 INFO L290 TraceCheckUtils]: 25: Hoare triple {68015#true} assume ~m - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,115 INFO L272 TraceCheckUtils]: 26: Hoare triple {68015#true} call #t~ret4 := ackermann(~m - 1, 1); {68015#true} is VALID [2022-02-21 03:07:06,115 INFO L290 TraceCheckUtils]: 27: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,116 INFO L290 TraceCheckUtils]: 28: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 0 == ~m; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,116 INFO L290 TraceCheckUtils]: 29: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n <= 2147483647; {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} is VALID [2022-02-21 03:07:06,116 INFO L290 TraceCheckUtils]: 30: Hoare triple {68086#(or (= (+ ackermann_~n (- 1)) 0) (= ackermann_~n |ackermann_#in~n|))} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:06,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} assume true; {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} is VALID [2022-02-21 03:07:06,117 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {68087#(or (<= |ackermann_#res| 2) (not (= |ackermann_#in~n| 1)))} {68015#true} #60#return; {68084#(<= |ackermann_#t~ret4| 2)} is VALID [2022-02-21 03:07:06,118 INFO L290 TraceCheckUtils]: 33: Hoare triple {68084#(<= |ackermann_#t~ret4| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {68085#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:06,118 INFO L290 TraceCheckUtils]: 34: Hoare triple {68085#(<= |ackermann_#res| 2)} assume true; {68085#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:06,119 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {68085#(<= |ackermann_#res| 2)} {68015#true} #62#return; {68069#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:06,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {68069#(<= |ackermann_#t~ret5| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {68069#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:06,119 INFO L272 TraceCheckUtils]: 37: Hoare triple {68069#(<= |ackermann_#t~ret5| 2)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {68015#true} is VALID [2022-02-21 03:07:06,119 INFO L290 TraceCheckUtils]: 38: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68088#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,120 INFO L290 TraceCheckUtils]: 39: Hoare triple {68088#(= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {68088#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,120 INFO L290 TraceCheckUtils]: 40: Hoare triple {68088#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {68088#(= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,120 INFO L290 TraceCheckUtils]: 41: Hoare triple {68088#(= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,121 INFO L290 TraceCheckUtils]: 42: Hoare triple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} assume true; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,121 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} {68069#(<= |ackermann_#t~ret5| 2)} #64#return; {68076#(<= |ackermann_#t~ret6| 3)} is VALID [2022-02-21 03:07:06,122 INFO L290 TraceCheckUtils]: 44: Hoare triple {68076#(<= |ackermann_#t~ret6| 3)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;#res := #t~ret6;havoc #t~ret5;havoc #t~ret6; {68077#(<= |ackermann_#res| 3)} is VALID [2022-02-21 03:07:06,122 INFO L290 TraceCheckUtils]: 45: Hoare triple {68077#(<= |ackermann_#res| 3)} assume true; {68077#(<= |ackermann_#res| 3)} is VALID [2022-02-21 03:07:06,123 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {68077#(<= |ackermann_#res| 3)} {68015#true} #62#return; {68051#(<= |ackermann_#t~ret5| 3)} is VALID [2022-02-21 03:07:06,123 INFO L290 TraceCheckUtils]: 47: Hoare triple {68051#(<= |ackermann_#t~ret5| 3)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {68051#(<= |ackermann_#t~ret5| 3)} is VALID [2022-02-21 03:07:06,123 INFO L272 TraceCheckUtils]: 48: Hoare triple {68051#(<= |ackermann_#t~ret5| 3)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {68052#(<= |ackermann_#in~n| 3)} is VALID [2022-02-21 03:07:06,124 INFO L290 TraceCheckUtils]: 49: Hoare triple {68052#(<= |ackermann_#in~n| 3)} ~m := #in~m;~n := #in~n; {68053#(<= ackermann_~n 3)} is VALID [2022-02-21 03:07:06,124 INFO L290 TraceCheckUtils]: 50: Hoare triple {68053#(<= ackermann_~n 3)} assume 0 == ~m; {68053#(<= ackermann_~n 3)} is VALID [2022-02-21 03:07:06,124 INFO L290 TraceCheckUtils]: 51: Hoare triple {68053#(<= ackermann_~n 3)} assume !(1 + ~n <= 2147483647); {68016#false} is VALID [2022-02-21 03:07:06,125 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 21 proven. 14 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-02-21 03:07:06,125 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-21 03:07:06,125 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2134774189] [2022-02-21 03:07:06,125 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2134774189] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-21 03:07:06,125 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1302222037] [2022-02-21 03:07:06,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-21 03:07:06,125 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-21 03:07:06,126 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-21 03:07:06,127 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-21 03:07:06,128 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-02-21 03:07:06,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:06,168 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-21 03:07:06,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-21 03:07:06,179 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {68015#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); {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {68015#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; {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {68015#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; {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 3: Hoare triple {68015#true} assume !(main_~n~0#1 < 0 || main_~n~0#1 > 23); {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L272 TraceCheckUtils]: 4: Hoare triple {68015#true} call main_#t~ret9#1 := ackermann(main_~m~0#1, main_~n~0#1); {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 5: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 6: Hoare triple {68015#true} assume !(0 == ~m); {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {68015#true} assume !(0 == ~n); {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {68015#true} assume ~m - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {68015#true} assume ~m - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,375 INFO L290 TraceCheckUtils]: 10: Hoare triple {68015#true} assume ~n - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 11: Hoare triple {68015#true} assume ~n - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L272 TraceCheckUtils]: 12: Hoare triple {68015#true} call #t~ret5 := ackermann(~m, ~n - 1); {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 13: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {68015#true} assume !(0 == ~m); {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 15: Hoare triple {68015#true} assume !(0 == ~n); {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 16: Hoare triple {68015#true} assume ~m - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 17: Hoare triple {68015#true} assume ~m - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 18: Hoare triple {68015#true} assume ~n - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 19: Hoare triple {68015#true} assume ~n - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L272 TraceCheckUtils]: 20: Hoare triple {68015#true} call #t~ret5 := ackermann(~m, ~n - 1); {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 21: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 22: Hoare triple {68015#true} assume !(0 == ~m); {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 23: Hoare triple {68015#true} assume 0 == ~n; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 24: Hoare triple {68015#true} assume ~m - 1 <= 2147483647; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L290 TraceCheckUtils]: 25: Hoare triple {68015#true} assume ~m - 1 >= -2147483648; {68015#true} is VALID [2022-02-21 03:07:06,376 INFO L272 TraceCheckUtils]: 26: Hoare triple {68015#true} call #t~ret4 := ackermann(~m - 1, 1); {68015#true} is VALID [2022-02-21 03:07:06,377 INFO L290 TraceCheckUtils]: 27: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68174#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,377 INFO L290 TraceCheckUtils]: 28: Hoare triple {68174#(<= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {68174#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,377 INFO L290 TraceCheckUtils]: 29: Hoare triple {68174#(<= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {68174#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,378 INFO L290 TraceCheckUtils]: 30: Hoare triple {68174#(<= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,378 INFO L290 TraceCheckUtils]: 31: Hoare triple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} assume true; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,379 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} {68015#true} #60#return; {68084#(<= |ackermann_#t~ret4| 2)} is VALID [2022-02-21 03:07:06,379 INFO L290 TraceCheckUtils]: 33: Hoare triple {68084#(<= |ackermann_#t~ret4| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := #t~ret4;havoc #t~ret4; {68085#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:06,379 INFO L290 TraceCheckUtils]: 34: Hoare triple {68085#(<= |ackermann_#res| 2)} assume true; {68085#(<= |ackermann_#res| 2)} is VALID [2022-02-21 03:07:06,380 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {68085#(<= |ackermann_#res| 2)} {68015#true} #62#return; {68069#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:06,380 INFO L290 TraceCheckUtils]: 36: Hoare triple {68069#(<= |ackermann_#t~ret5| 2)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {68069#(<= |ackermann_#t~ret5| 2)} is VALID [2022-02-21 03:07:06,380 INFO L272 TraceCheckUtils]: 37: Hoare triple {68069#(<= |ackermann_#t~ret5| 2)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {68015#true} is VALID [2022-02-21 03:07:06,380 INFO L290 TraceCheckUtils]: 38: Hoare triple {68015#true} ~m := #in~m;~n := #in~n; {68174#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,381 INFO L290 TraceCheckUtils]: 39: Hoare triple {68174#(<= ackermann_~n |ackermann_#in~n|)} assume 0 == ~m; {68174#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {68174#(<= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n <= 2147483647; {68174#(<= ackermann_~n |ackermann_#in~n|)} is VALID [2022-02-21 03:07:06,381 INFO L290 TraceCheckUtils]: 41: Hoare triple {68174#(<= ackermann_~n |ackermann_#in~n|)} assume 1 + ~n >= -2147483648;#res := 1 + ~n; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,382 INFO L290 TraceCheckUtils]: 42: Hoare triple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} assume true; {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} is VALID [2022-02-21 03:07:06,382 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {68089#(<= |ackermann_#res| (+ |ackermann_#in~n| 1))} {68069#(<= |ackermann_#t~ret5| 2)} #64#return; {68076#(<= |ackermann_#t~ret6| 3)} is VALID [2022-02-21 03:07:06,383 INFO L290 TraceCheckUtils]: 44: Hoare triple {68076#(<= |ackermann_#t~ret6| 3)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;#res := #t~ret6;havoc #t~ret5;havoc #t~ret6; {68077#(<= |ackermann_#res| 3)} is VALID [2022-02-21 03:07:06,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {68077#(<= |ackermann_#res| 3)} assume true; {68077#(<= |ackermann_#res| 3)} is VALID [2022-02-21 03:07:06,383 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {68077#(<= |ackermann_#res| 3)} {68015#true} #62#return; {68051#(<= |ackermann_#t~ret5| 3)} is VALID [2022-02-21 03:07:06,384 INFO L290 TraceCheckUtils]: 47: Hoare triple {68051#(<= |ackermann_#t~ret5| 3)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647; {68051#(<= |ackermann_#t~ret5| 3)} is VALID [2022-02-21 03:07:06,384 INFO L272 TraceCheckUtils]: 48: Hoare triple {68051#(<= |ackermann_#t~ret5| 3)} call #t~ret6 := ackermann(~m - 1, #t~ret5); {68052#(<= |ackermann_#in~n| 3)} is VALID [2022-02-21 03:07:06,384 INFO L290 TraceCheckUtils]: 49: Hoare triple {68052#(<= |ackermann_#in~n| 3)} ~m := #in~m;~n := #in~n; {68053#(<= ackermann_~n 3)} is VALID [2022-02-21 03:07:06,385 INFO L290 TraceCheckUtils]: 50: Hoare triple {68053#(<= ackermann_~n 3)} assume 0 == ~m; {68053#(<= ackermann_~n 3)} is VALID [2022-02-21 03:07:06,385 INFO L290 TraceCheckUtils]: 51: Hoare triple {68053#(<= ackermann_~n 3)} assume !(1 + ~n <= 2147483647); {68016#false} is VALID [2022-02-21 03:07:06,385 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 14 proven. 16 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-21 03:07:06,385 INFO L328 TraceCheckSpWp]: Computing backward predicates...