./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/recursive-simple/id_i25_o25-1.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/recursive-simple/id_i25_o25-1.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 2409cd2f018515417b0b6bf5d396e4bc80c02540769112137ebf388167bdf776 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 18:16:30,511 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 18:16:30,512 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 18:16:30,534 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 18:16:30,535 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 18:16:30,536 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 18:16:30,537 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 18:16:30,538 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 18:16:30,539 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 18:16:30,539 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 18:16:30,540 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 18:16:30,541 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 18:16:30,541 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 18:16:30,542 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 18:16:30,542 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 18:16:30,543 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 18:16:30,544 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 18:16:30,544 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 18:16:30,545 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 18:16:30,547 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 18:16:30,548 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 18:16:30,548 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 18:16:30,549 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 18:16:30,550 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 18:16:30,552 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 18:16:30,552 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 18:16:30,552 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 18:16:30,553 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 18:16:30,553 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 18:16:30,554 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 18:16:30,554 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 18:16:30,554 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 18:16:30,555 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 18:16:30,555 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 18:16:30,556 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 18:16:30,556 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 18:16:30,557 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 18:16:30,557 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 18:16:30,557 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 18:16:30,558 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 18:16:30,558 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 18:16:30,568 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 18:16:30,581 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 18:16:30,582 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 18:16:30,582 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 18:16:30,582 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 18:16:30,583 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 18:16:30,583 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 18:16:30,583 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 18:16:30,583 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 18:16:30,583 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 18:16:30,584 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 18:16:30,584 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 18:16:30,584 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 18:16:30,584 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 18:16:30,584 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 18:16:30,584 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 18:16:30,585 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 18:16:30,585 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 18:16:30,585 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 18:16:30,585 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 18:16:30,585 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 18:16:30,585 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 18:16:30,586 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 18:16:30,586 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 18:16:30,586 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 18:16:30,586 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:16:30,586 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 18:16:30,586 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 18:16:30,587 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 18:16:30,587 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 18:16:30,587 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 18:16:30,587 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 18:16:30,587 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 18:16:30,588 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 18:16:30,588 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 2409cd2f018515417b0b6bf5d396e4bc80c02540769112137ebf388167bdf776 [2022-02-20 18:16:30,763 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 18:16:30,785 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 18:16:30,788 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 18:16:30,789 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 18:16:30,789 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 18:16:30,791 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive-simple/id_i25_o25-1.c [2022-02-20 18:16:30,850 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3435e588/b570f056ba5641bebd8649baa497c1f3/FLAG438b1edab [2022-02-20 18:16:31,122 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 18:16:31,122 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/id_i25_o25-1.c [2022-02-20 18:16:31,126 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3435e588/b570f056ba5641bebd8649baa497c1f3/FLAG438b1edab [2022-02-20 18:16:31,564 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3435e588/b570f056ba5641bebd8649baa497c1f3 [2022-02-20 18:16:31,566 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 18:16:31,567 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 18:16:31,570 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 18:16:31,574 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 18:16:31,576 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 18:16:31,577 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,578 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@168e2701 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31, skipping insertion in model container [2022-02-20 18:16:31,579 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,595 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 18:16:31,602 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 18:16:31,701 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/id_i25_o25-1.c[454,467] [2022-02-20 18:16:31,721 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:16:31,727 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 18:16:31,737 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/id_i25_o25-1.c[454,467] [2022-02-20 18:16:31,738 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:16:31,747 INFO L208 MainTranslator]: Completed translation [2022-02-20 18:16:31,747 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31 WrapperNode [2022-02-20 18:16:31,747 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 18:16:31,748 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 18:16:31,748 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 18:16:31,749 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 18:16:31,753 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,757 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,768 INFO L137 Inliner]: procedures = 13, calls = 9, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 19 [2022-02-20 18:16:31,768 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 18:16:31,769 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 18:16:31,769 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 18:16:31,769 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 18:16:31,774 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,774 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,775 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,775 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,777 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,778 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,778 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,779 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 18:16:31,779 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 18:16:31,780 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 18:16:31,780 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 18:16:31,780 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (1/1) ... [2022-02-20 18:16:31,785 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:16:31,791 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:31,803 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 18:16:31,807 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 18:16:31,830 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 18:16:31,830 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 18:16:31,830 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 18:16:31,830 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 18:16:31,830 INFO L130 BoogieDeclarations]: Found specification of procedure id [2022-02-20 18:16:31,830 INFO L138 BoogieDeclarations]: Found implementation of procedure id [2022-02-20 18:16:31,865 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 18:16:31,866 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 18:16:31,949 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 18:16:31,954 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 18:16:31,954 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 18:16:31,955 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:16:31 BoogieIcfgContainer [2022-02-20 18:16:31,956 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 18:16:31,957 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 18:16:31,957 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 18:16:31,963 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 18:16:31,964 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 06:16:31" (1/3) ... [2022-02-20 18:16:31,965 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5c2f09dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:16:31, skipping insertion in model container [2022-02-20 18:16:31,965 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:31" (2/3) ... [2022-02-20 18:16:31,965 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5c2f09dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:16:31, skipping insertion in model container [2022-02-20 18:16:31,966 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:16:31" (3/3) ... [2022-02-20 18:16:31,967 INFO L111 eAbstractionObserver]: Analyzing ICFG id_i25_o25-1.c [2022-02-20 18:16:31,971 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 18:16:31,972 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 18:16:32,032 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 18:16:32,047 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 18:16:32,057 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 18:16:32,081 INFO L276 IsEmpty]: Start isEmpty. Operand has 16 states, 11 states have (on average 1.2727272727272727) internal successors, (14), 12 states have internal predecessors, (14), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:16:32,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 18:16:32,085 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:32,085 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:32,086 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:32,089 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:32,090 INFO L85 PathProgramCache]: Analyzing trace with hash -358017204, now seen corresponding path program 1 times [2022-02-20 18:16:32,097 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:32,097 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1626067530] [2022-02-20 18:16:32,097 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:32,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:32,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:32,272 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:32,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:32,312 INFO L290 TraceCheckUtils]: 0: Hoare triple {19#true} ~x := #in~x; {26#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {26#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {27#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,314 INFO L290 TraceCheckUtils]: 2: Hoare triple {27#(= |id_#in~x| 0)} assume true; {27#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27#(= |id_#in~x| 0)} {21#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {20#false} is VALID [2022-02-20 18:16:32,316 INFO L290 TraceCheckUtils]: 0: Hoare triple {19#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(15, 2);call #Ultimate.allocInit(12, 3); {19#true} is VALID [2022-02-20 18:16:32,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {19#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {21#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:32,318 INFO L272 TraceCheckUtils]: 2: Hoare triple {21#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {19#true} is VALID [2022-02-20 18:16:32,318 INFO L290 TraceCheckUtils]: 3: Hoare triple {19#true} ~x := #in~x; {26#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,319 INFO L290 TraceCheckUtils]: 4: Hoare triple {26#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {27#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,319 INFO L290 TraceCheckUtils]: 5: Hoare triple {27#(= |id_#in~x| 0)} assume true; {27#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,322 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {27#(= |id_#in~x| 0)} {21#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {20#false} is VALID [2022-02-20 18:16:32,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {20#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {20#false} is VALID [2022-02-20 18:16:32,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {20#false} assume 25 != main_~result~0#1; {20#false} is VALID [2022-02-20 18:16:32,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {20#false} assume !false; {20#false} is VALID [2022-02-20 18:16:32,324 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 18:16:32,324 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:32,325 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1626067530] [2022-02-20 18:16:32,326 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1626067530] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:16:32,326 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:16:32,327 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 18:16:32,330 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1787862779] [2022-02-20 18:16:32,330 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:16:32,335 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2022-02-20 18:16:32,336 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:32,339 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), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:16:32,355 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-20 18:16:32,355 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 18:16:32,355 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:32,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 18:16:32,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:16:32,386 INFO L87 Difference]: Start difference. First operand has 16 states, 11 states have (on average 1.2727272727272727) internal successors, (14), 12 states have internal predecessors, (14), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:16:32,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:32,504 INFO L93 Difference]: Finished difference Result 25 states and 28 transitions. [2022-02-20 18:16:32,504 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:16:32,505 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 10 [2022-02-20 18:16:32,505 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:32,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:16:32,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 28 transitions. [2022-02-20 18:16:32,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:16:32,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 28 transitions. [2022-02-20 18:16:32,518 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 28 transitions. [2022-02-20 18:16:32,551 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-20 18:16:32,557 INFO L225 Difference]: With dead ends: 25 [2022-02-20 18:16:32,557 INFO L226 Difference]: Without dead ends: 15 [2022-02-20 18:16:32,559 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 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-20 18:16:32,562 INFO L933 BasicCegarLoop]: 13 mSDtfsCounter, 11 mSDsluCounter, 23 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 17 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:16:32,563 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 36 Invalid, 17 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:16:32,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 15 states. [2022-02-20 18:16:32,582 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 15 to 15. [2022-02-20 18:16:32,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:32,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 15 states. Second operand has 15 states, 10 states have (on average 1.1) internal successors, (11), 11 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 18:16:32,589 INFO L74 IsIncluded]: Start isIncluded. First operand 15 states. Second operand has 15 states, 10 states have (on average 1.1) internal successors, (11), 11 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 18:16:32,589 INFO L87 Difference]: Start difference. First operand 15 states. Second operand has 15 states, 10 states have (on average 1.1) internal successors, (11), 11 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 18:16:32,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:32,592 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2022-02-20 18:16:32,592 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2022-02-20 18:16:32,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:32,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:32,592 INFO L74 IsIncluded]: Start isIncluded. First operand has 15 states, 10 states have (on average 1.1) internal successors, (11), 11 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Second operand 15 states. [2022-02-20 18:16:32,593 INFO L87 Difference]: Start difference. First operand has 15 states, 10 states have (on average 1.1) internal successors, (11), 11 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Second operand 15 states. [2022-02-20 18:16:32,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:32,594 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2022-02-20 18:16:32,594 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2022-02-20 18:16:32,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:32,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:32,595 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:32,595 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:32,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 10 states have (on average 1.1) internal successors, (11), 11 states have internal predecessors, (11), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 18:16:32,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 16 transitions. [2022-02-20 18:16:32,599 INFO L78 Accepts]: Start accepts. Automaton has 15 states and 16 transitions. Word has length 10 [2022-02-20 18:16:32,599 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:32,599 INFO L470 AbstractCegarLoop]: Abstraction has 15 states and 16 transitions. [2022-02-20 18:16:32,600 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 5 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 18:16:32,600 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2022-02-20 18:16:32,601 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 18:16:32,602 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:32,603 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:32,604 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 18:16:32,604 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:32,607 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:32,607 INFO L85 PathProgramCache]: Analyzing trace with hash 679465686, now seen corresponding path program 1 times [2022-02-20 18:16:32,607 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:32,607 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [964043827] [2022-02-20 18:16:32,607 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:32,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:32,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:32,655 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:32,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:32,689 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:32,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:32,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {121#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {127#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {127#(= |id_#in~x| 0)} assume true; {127#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127#(= |id_#in~x| 0)} {121#(= |id_#in~x| id_~x)} #27#return; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,714 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {121#(= |id_#in~x| id_~x)} assume !(0 == ~x); {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,715 INFO L272 TraceCheckUtils]: 2: Hoare triple {121#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {108#true} is VALID [2022-02-20 18:16:32,715 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,716 INFO L290 TraceCheckUtils]: 4: Hoare triple {121#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {127#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {127#(= |id_#in~x| 0)} assume true; {127#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,718 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {127#(= |id_#in~x| 0)} {121#(= |id_#in~x| id_~x)} #27#return; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {126#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,719 INFO L290 TraceCheckUtils]: 8: Hoare triple {126#(<= |id_#in~x| 1)} assume true; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,720 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {126#(<= |id_#in~x| 1)} {110#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:32,721 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#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(15, 2);call #Ultimate.allocInit(12, 3); {108#true} is VALID [2022-02-20 18:16:32,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {108#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {110#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:32,721 INFO L272 TraceCheckUtils]: 2: Hoare triple {110#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {108#true} is VALID [2022-02-20 18:16:32,722 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,722 INFO L290 TraceCheckUtils]: 4: Hoare triple {121#(= |id_#in~x| id_~x)} assume !(0 == ~x); {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,722 INFO L272 TraceCheckUtils]: 5: Hoare triple {121#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {108#true} is VALID [2022-02-20 18:16:32,723 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,723 INFO L290 TraceCheckUtils]: 7: Hoare triple {121#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {127#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,723 INFO L290 TraceCheckUtils]: 8: Hoare triple {127#(= |id_#in~x| 0)} assume true; {127#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,724 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {127#(= |id_#in~x| 0)} {121#(= |id_#in~x| id_~x)} #27#return; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,725 INFO L290 TraceCheckUtils]: 10: Hoare triple {126#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,725 INFO L290 TraceCheckUtils]: 11: Hoare triple {126#(<= |id_#in~x| 1)} assume true; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,726 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {126#(<= |id_#in~x| 1)} {110#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:32,726 INFO L290 TraceCheckUtils]: 13: Hoare triple {109#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {109#false} is VALID [2022-02-20 18:16:32,726 INFO L290 TraceCheckUtils]: 14: Hoare triple {109#false} assume 25 != main_~result~0#1; {109#false} is VALID [2022-02-20 18:16:32,726 INFO L290 TraceCheckUtils]: 15: Hoare triple {109#false} assume !false; {109#false} is VALID [2022-02-20 18:16:32,727 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 18:16:32,727 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:32,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [964043827] [2022-02-20 18:16:32,727 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [964043827] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:32,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [391908855] [2022-02-20 18:16:32,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:32,728 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:32,728 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:32,729 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:16:32,730 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 18:16:32,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:32,760 INFO L263 TraceCheckSpWp]: Trace formula consists of 60 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:16:32,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:32,768 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:32,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#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(15, 2);call #Ultimate.allocInit(12, 3); {108#true} is VALID [2022-02-20 18:16:32,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {108#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {110#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:32,923 INFO L272 TraceCheckUtils]: 2: Hoare triple {110#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {108#true} is VALID [2022-02-20 18:16:32,923 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {140#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,924 INFO L290 TraceCheckUtils]: 4: Hoare triple {140#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {140#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,924 INFO L272 TraceCheckUtils]: 5: Hoare triple {140#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {108#true} is VALID [2022-02-20 18:16:32,927 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} ~x := #in~x; {140#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:32,928 INFO L290 TraceCheckUtils]: 7: Hoare triple {140#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {153#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,928 INFO L290 TraceCheckUtils]: 8: Hoare triple {153#(<= |id_#in~x| 0)} assume true; {153#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:32,929 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {153#(<= |id_#in~x| 0)} {140#(<= |id_#in~x| id_~x)} #27#return; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,930 INFO L290 TraceCheckUtils]: 10: Hoare triple {126#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,930 INFO L290 TraceCheckUtils]: 11: Hoare triple {126#(<= |id_#in~x| 1)} assume true; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:32,931 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {126#(<= |id_#in~x| 1)} {110#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:32,931 INFO L290 TraceCheckUtils]: 13: Hoare triple {109#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {109#false} is VALID [2022-02-20 18:16:32,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {109#false} assume 25 != main_~result~0#1; {109#false} is VALID [2022-02-20 18:16:32,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {109#false} assume !false; {109#false} is VALID [2022-02-20 18:16:32,932 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 18:16:32,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:33,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {109#false} assume !false; {109#false} is VALID [2022-02-20 18:16:33,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {109#false} assume 25 != main_~result~0#1; {109#false} is VALID [2022-02-20 18:16:33,387 INFO L290 TraceCheckUtils]: 13: Hoare triple {109#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {109#false} is VALID [2022-02-20 18:16:33,388 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {126#(<= |id_#in~x| 1)} {187#(< 1 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:33,388 INFO L290 TraceCheckUtils]: 11: Hoare triple {126#(<= |id_#in~x| 1)} assume true; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,388 INFO L290 TraceCheckUtils]: 10: Hoare triple {126#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,389 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {153#(<= |id_#in~x| 0)} {200#(or (< 1 id_~x) (<= |id_#in~x| 1))} #27#return; {126#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,390 INFO L290 TraceCheckUtils]: 8: Hoare triple {153#(<= |id_#in~x| 0)} assume true; {153#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {210#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} assume 0 == ~x;#res := 0; {153#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,390 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} ~x := #in~x; {210#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} is VALID [2022-02-20 18:16:33,390 INFO L272 TraceCheckUtils]: 5: Hoare triple {200#(or (< 1 id_~x) (<= |id_#in~x| 1))} call #t~ret4 := id(~x - 1); {108#true} is VALID [2022-02-20 18:16:33,391 INFO L290 TraceCheckUtils]: 4: Hoare triple {200#(or (< 1 id_~x) (<= |id_#in~x| 1))} assume !(0 == ~x); {200#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:33,391 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {200#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:33,391 INFO L272 TraceCheckUtils]: 2: Hoare triple {187#(< 1 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {108#true} is VALID [2022-02-20 18:16:33,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {108#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {187#(< 1 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:33,392 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#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(15, 2);call #Ultimate.allocInit(12, 3); {108#true} is VALID [2022-02-20 18:16:33,392 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 18:16:33,393 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [391908855] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:33,393 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:33,393 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 7] total 11 [2022-02-20 18:16:33,393 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [458290350] [2022-02-20 18:16:33,393 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:33,394 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) Word has length 16 [2022-02-20 18:16:33,395 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:33,395 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:16:33,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:16:33,414 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 18:16:33,414 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:33,415 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 18:16:33,415 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2022-02-20 18:16:33,415 INFO L87 Difference]: Start difference. First operand 15 states and 16 transitions. Second operand has 11 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:16:33,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:33,495 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2022-02-20 18:16:33,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 18:16:33,495 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) Word has length 16 [2022-02-20 18:16:33,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:33,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:16:33,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 23 transitions. [2022-02-20 18:16:33,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:16:33,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 23 transitions. [2022-02-20 18:16:33,498 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 23 transitions. [2022-02-20 18:16:33,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:16:33,514 INFO L225 Difference]: With dead ends: 22 [2022-02-20 18:16:33,514 INFO L226 Difference]: Without dead ends: 18 [2022-02-20 18:16:33,514 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=50, Invalid=106, Unknown=0, NotChecked=0, Total=156 [2022-02-20 18:16:33,515 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 16 mSDsluCounter, 31 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:16:33,515 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 41 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:16:33,516 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18 states. [2022-02-20 18:16:33,518 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18 to 18. [2022-02-20 18:16:33,518 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:33,518 INFO L82 GeneralOperation]: Start isEquivalent. First operand 18 states. Second operand has 18 states, 12 states have (on average 1.0833333333333333) internal successors, (13), 13 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 18:16:33,518 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand has 18 states, 12 states have (on average 1.0833333333333333) internal successors, (13), 13 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 18:16:33,519 INFO L87 Difference]: Start difference. First operand 18 states. Second operand has 18 states, 12 states have (on average 1.0833333333333333) internal successors, (13), 13 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 18:16:33,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:33,520 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2022-02-20 18:16:33,520 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2022-02-20 18:16:33,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:33,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:33,520 INFO L74 IsIncluded]: Start isIncluded. First operand has 18 states, 12 states have (on average 1.0833333333333333) internal successors, (13), 13 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Second operand 18 states. [2022-02-20 18:16:33,520 INFO L87 Difference]: Start difference. First operand has 18 states, 12 states have (on average 1.0833333333333333) internal successors, (13), 13 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Second operand 18 states. [2022-02-20 18:16:33,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:33,522 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2022-02-20 18:16:33,522 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2022-02-20 18:16:33,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:33,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:33,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:33,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:33,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 12 states have (on average 1.0833333333333333) internal successors, (13), 13 states have internal predecessors, (13), 2 states have call successors, (2), 1 states have call predecessors, (2), 3 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 18:16:33,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 19 transitions. [2022-02-20 18:16:33,523 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 19 transitions. Word has length 16 [2022-02-20 18:16:33,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:33,523 INFO L470 AbstractCegarLoop]: Abstraction has 18 states and 19 transitions. [2022-02-20 18:16:33,524 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 11 states have internal predecessors, (20), 5 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 2 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 18:16:33,524 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2022-02-20 18:16:33,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 18:16:33,524 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:33,524 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:33,540 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 18:16:33,735 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:33,736 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:33,736 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:33,736 INFO L85 PathProgramCache]: Analyzing trace with hash -41010676, now seen corresponding path program 2 times [2022-02-20 18:16:33,736 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:33,736 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [709523999] [2022-02-20 18:16:33,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:33,736 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:33,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,788 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:33,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:33,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,863 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:33,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,875 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {330#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {347#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {347#(= |id_#in~x| 0)} assume true; {347#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {347#(= |id_#in~x| 0)} {330#(= |id_#in~x| id_~x)} #27#return; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {330#(= |id_#in~x| id_~x)} assume !(0 == ~x); {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,877 INFO L272 TraceCheckUtils]: 2: Hoare triple {330#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {311#true} is VALID [2022-02-20 18:16:33,877 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,878 INFO L290 TraceCheckUtils]: 4: Hoare triple {330#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {347#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {347#(= |id_#in~x| 0)} assume true; {347#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,879 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {347#(= |id_#in~x| 0)} {330#(= |id_#in~x| id_~x)} #27#return; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {346#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {346#(<= |id_#in~x| 1)} assume true; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,880 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {346#(<= |id_#in~x| 1)} {330#(= |id_#in~x| id_~x)} #27#return; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:33,881 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {330#(= |id_#in~x| id_~x)} assume !(0 == ~x); {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,881 INFO L272 TraceCheckUtils]: 2: Hoare triple {330#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {311#true} is VALID [2022-02-20 18:16:33,881 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,882 INFO L290 TraceCheckUtils]: 4: Hoare triple {330#(= |id_#in~x| id_~x)} assume !(0 == ~x); {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,882 INFO L272 TraceCheckUtils]: 5: Hoare triple {330#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {311#true} is VALID [2022-02-20 18:16:33,882 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {330#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {347#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,883 INFO L290 TraceCheckUtils]: 8: Hoare triple {347#(= |id_#in~x| 0)} assume true; {347#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,883 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {347#(= |id_#in~x| 0)} {330#(= |id_#in~x| id_~x)} #27#return; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,884 INFO L290 TraceCheckUtils]: 10: Hoare triple {346#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {346#(<= |id_#in~x| 1)} assume true; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,885 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {346#(<= |id_#in~x| 1)} {330#(= |id_#in~x| id_~x)} #27#return; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:33,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {341#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:33,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {341#(<= |id_#in~x| 2)} assume true; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:33,886 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {341#(<= |id_#in~x| 2)} {313#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:33,886 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#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(15, 2);call #Ultimate.allocInit(12, 3); {311#true} is VALID [2022-02-20 18:16:33,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {313#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:33,887 INFO L272 TraceCheckUtils]: 2: Hoare triple {313#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {311#true} is VALID [2022-02-20 18:16:33,888 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,889 INFO L290 TraceCheckUtils]: 4: Hoare triple {330#(= |id_#in~x| id_~x)} assume !(0 == ~x); {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,889 INFO L272 TraceCheckUtils]: 5: Hoare triple {330#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {311#true} is VALID [2022-02-20 18:16:33,889 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,889 INFO L290 TraceCheckUtils]: 7: Hoare triple {330#(= |id_#in~x| id_~x)} assume !(0 == ~x); {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,889 INFO L272 TraceCheckUtils]: 8: Hoare triple {330#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {311#true} is VALID [2022-02-20 18:16:33,890 INFO L290 TraceCheckUtils]: 9: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,890 INFO L290 TraceCheckUtils]: 10: Hoare triple {330#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {347#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,890 INFO L290 TraceCheckUtils]: 11: Hoare triple {347#(= |id_#in~x| 0)} assume true; {347#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:33,891 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {347#(= |id_#in~x| 0)} {330#(= |id_#in~x| id_~x)} #27#return; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,891 INFO L290 TraceCheckUtils]: 13: Hoare triple {346#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {346#(<= |id_#in~x| 1)} assume true; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:33,892 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {346#(<= |id_#in~x| 1)} {330#(= |id_#in~x| id_~x)} #27#return; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:33,893 INFO L290 TraceCheckUtils]: 16: Hoare triple {341#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:33,893 INFO L290 TraceCheckUtils]: 17: Hoare triple {341#(<= |id_#in~x| 2)} assume true; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:33,894 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {341#(<= |id_#in~x| 2)} {313#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:33,894 INFO L290 TraceCheckUtils]: 19: Hoare triple {312#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {312#false} is VALID [2022-02-20 18:16:33,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume 25 != main_~result~0#1; {312#false} is VALID [2022-02-20 18:16:33,894 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-02-20 18:16:33,894 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 18:16:33,895 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:33,895 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [709523999] [2022-02-20 18:16:33,895 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [709523999] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:33,895 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2123404452] [2022-02-20 18:16:33,895 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 18:16:33,895 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:33,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:33,897 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:16:33,898 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 18:16:33,924 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 18:16:33,924 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:33,925 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:16:33,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:34,055 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#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(15, 2);call #Ultimate.allocInit(12, 3); {311#true} is VALID [2022-02-20 18:16:34,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {313#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:34,056 INFO L272 TraceCheckUtils]: 2: Hoare triple {313#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {311#true} is VALID [2022-02-20 18:16:34,056 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,057 INFO L290 TraceCheckUtils]: 4: Hoare triple {360#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,057 INFO L272 TraceCheckUtils]: 5: Hoare triple {360#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {311#true} is VALID [2022-02-20 18:16:34,057 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {360#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,058 INFO L272 TraceCheckUtils]: 8: Hoare triple {360#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {311#true} is VALID [2022-02-20 18:16:34,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {311#true} ~x := #in~x; {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,059 INFO L290 TraceCheckUtils]: 10: Hoare triple {360#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {382#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:34,059 INFO L290 TraceCheckUtils]: 11: Hoare triple {382#(<= |id_#in~x| 0)} assume true; {382#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:34,060 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {382#(<= |id_#in~x| 0)} {360#(<= |id_#in~x| id_~x)} #27#return; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:34,060 INFO L290 TraceCheckUtils]: 13: Hoare triple {346#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:34,060 INFO L290 TraceCheckUtils]: 14: Hoare triple {346#(<= |id_#in~x| 1)} assume true; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:34,061 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {346#(<= |id_#in~x| 1)} {360#(<= |id_#in~x| id_~x)} #27#return; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:34,061 INFO L290 TraceCheckUtils]: 16: Hoare triple {341#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:34,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {341#(<= |id_#in~x| 2)} assume true; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:34,062 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {341#(<= |id_#in~x| 2)} {313#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:34,063 INFO L290 TraceCheckUtils]: 19: Hoare triple {312#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {312#false} is VALID [2022-02-20 18:16:34,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume 25 != main_~result~0#1; {312#false} is VALID [2022-02-20 18:16:34,063 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-02-20 18:16:34,063 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 18:16:34,063 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:34,934 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-02-20 18:16:34,934 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume 25 != main_~result~0#1; {312#false} is VALID [2022-02-20 18:16:34,935 INFO L290 TraceCheckUtils]: 19: Hoare triple {312#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {312#false} is VALID [2022-02-20 18:16:34,935 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {341#(<= |id_#in~x| 2)} {425#(< 2 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:34,935 INFO L290 TraceCheckUtils]: 17: Hoare triple {341#(<= |id_#in~x| 2)} assume true; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:34,937 INFO L290 TraceCheckUtils]: 16: Hoare triple {341#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:34,938 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {346#(<= |id_#in~x| 1)} {438#(or (<= |id_#in~x| 2) (< 2 id_~x))} #27#return; {341#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:34,938 INFO L290 TraceCheckUtils]: 14: Hoare triple {346#(<= |id_#in~x| 1)} assume true; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:34,939 INFO L290 TraceCheckUtils]: 13: Hoare triple {346#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:34,939 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {382#(<= |id_#in~x| 0)} {451#(or (< 1 id_~x) (<= |id_#in~x| 1))} #27#return; {346#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:34,940 INFO L290 TraceCheckUtils]: 11: Hoare triple {382#(<= |id_#in~x| 0)} assume true; {382#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:34,940 INFO L290 TraceCheckUtils]: 10: Hoare triple {461#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} assume 0 == ~x;#res := 0; {382#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:34,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {311#true} ~x := #in~x; {461#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} is VALID [2022-02-20 18:16:34,940 INFO L272 TraceCheckUtils]: 8: Hoare triple {451#(or (< 1 id_~x) (<= |id_#in~x| 1))} call #t~ret4 := id(~x - 1); {311#true} is VALID [2022-02-20 18:16:34,941 INFO L290 TraceCheckUtils]: 7: Hoare triple {451#(or (< 1 id_~x) (<= |id_#in~x| 1))} assume !(0 == ~x); {451#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:34,941 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {451#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:34,941 INFO L272 TraceCheckUtils]: 5: Hoare triple {438#(or (<= |id_#in~x| 2) (< 2 id_~x))} call #t~ret4 := id(~x - 1); {311#true} is VALID [2022-02-20 18:16:34,942 INFO L290 TraceCheckUtils]: 4: Hoare triple {438#(or (<= |id_#in~x| 2) (< 2 id_~x))} assume !(0 == ~x); {438#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:34,942 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {438#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:34,942 INFO L272 TraceCheckUtils]: 2: Hoare triple {425#(< 2 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {311#true} is VALID [2022-02-20 18:16:34,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {425#(< 2 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:34,943 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#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(15, 2);call #Ultimate.allocInit(12, 3); {311#true} is VALID [2022-02-20 18:16:34,943 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 18:16:34,943 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2123404452] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:34,943 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:34,943 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 9] total 13 [2022-02-20 18:16:34,943 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [895044243] [2022-02-20 18:16:34,944 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:34,944 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 3 states have call predecessors, (8), 6 states have call successors, (8) Word has length 22 [2022-02-20 18:16:34,946 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:34,946 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 3 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-20 18:16:34,987 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:16:34,988 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 18:16:34,988 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:34,988 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 18:16:34,988 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2022-02-20 18:16:34,989 INFO L87 Difference]: Start difference. First operand 18 states and 19 transitions. Second operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 3 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-20 18:16:35,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:35,149 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2022-02-20 18:16:35,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 18:16:35,149 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 3 states have call predecessors, (8), 6 states have call successors, (8) Word has length 22 [2022-02-20 18:16:35,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:35,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 3 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-20 18:16:35,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 26 transitions. [2022-02-20 18:16:35,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 3 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-20 18:16:35,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 26 transitions. [2022-02-20 18:16:35,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 26 transitions. [2022-02-20 18:16:35,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:16:35,184 INFO L225 Difference]: With dead ends: 25 [2022-02-20 18:16:35,184 INFO L226 Difference]: Without dead ends: 21 [2022-02-20 18:16:35,185 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=77, Invalid=163, Unknown=0, NotChecked=0, Total=240 [2022-02-20 18:16:35,185 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 46 mSDsluCounter, 28 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:16:35,186 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 38 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:16:35,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-02-20 18:16:35,189 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2022-02-20 18:16:35,189 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:35,189 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand has 21 states, 14 states have (on average 1.0714285714285714) internal successors, (15), 15 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:16:35,189 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand has 21 states, 14 states have (on average 1.0714285714285714) internal successors, (15), 15 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:16:35,190 INFO L87 Difference]: Start difference. First operand 21 states. Second operand has 21 states, 14 states have (on average 1.0714285714285714) internal successors, (15), 15 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:16:35,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:35,191 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2022-02-20 18:16:35,191 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2022-02-20 18:16:35,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:35,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:35,197 INFO L74 IsIncluded]: Start isIncluded. First operand has 21 states, 14 states have (on average 1.0714285714285714) internal successors, (15), 15 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Second operand 21 states. [2022-02-20 18:16:35,197 INFO L87 Difference]: Start difference. First operand has 21 states, 14 states have (on average 1.0714285714285714) internal successors, (15), 15 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Second operand 21 states. [2022-02-20 18:16:35,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:35,200 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2022-02-20 18:16:35,200 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2022-02-20 18:16:35,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:35,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:35,201 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:35,201 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:35,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 14 states have (on average 1.0714285714285714) internal successors, (15), 15 states have internal predecessors, (15), 2 states have call successors, (2), 1 states have call predecessors, (2), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 18:16:35,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 22 transitions. [2022-02-20 18:16:35,208 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 22 transitions. Word has length 22 [2022-02-20 18:16:35,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:35,208 INFO L470 AbstractCegarLoop]: Abstraction has 21 states and 22 transitions. [2022-02-20 18:16:35,208 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 13 states have internal predecessors, (24), 6 states have call successors, (6), 1 states have call predecessors, (6), 4 states have return successors, (8), 3 states have call predecessors, (8), 6 states have call successors, (8) [2022-02-20 18:16:35,209 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2022-02-20 18:16:35,209 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 18:16:35,209 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:35,210 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:35,229 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 18:16:35,410 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-02-20 18:16:35,411 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:35,411 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:35,411 INFO L85 PathProgramCache]: Analyzing trace with hash 1769866774, now seen corresponding path program 3 times [2022-02-20 18:16:35,412 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:35,412 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1629188712] [2022-02-20 18:16:35,412 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:35,412 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:35,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:35,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:35,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:35,473 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:35,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:35,490 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:35,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:35,505 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:35,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:35,516 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {607#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {641#(= |id_#in~x| 0)} assume true; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {641#(= |id_#in~x| 0)} {607#(= |id_#in~x| id_~x)} #27#return; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {607#(= |id_#in~x| id_~x)} assume !(0 == ~x); {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,518 INFO L272 TraceCheckUtils]: 2: Hoare triple {607#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,518 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,519 INFO L290 TraceCheckUtils]: 4: Hoare triple {607#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {641#(= |id_#in~x| 0)} assume true; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,520 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {641#(= |id_#in~x| 0)} {607#(= |id_#in~x| id_~x)} #27#return; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {640#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {640#(<= |id_#in~x| 1)} assume true; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,521 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {640#(<= |id_#in~x| 1)} {607#(= |id_#in~x| id_~x)} #27#return; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,521 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {607#(= |id_#in~x| id_~x)} assume !(0 == ~x); {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,522 INFO L272 TraceCheckUtils]: 2: Hoare triple {607#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,522 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,522 INFO L290 TraceCheckUtils]: 4: Hoare triple {607#(= |id_#in~x| id_~x)} assume !(0 == ~x); {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,522 INFO L272 TraceCheckUtils]: 5: Hoare triple {607#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,522 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,523 INFO L290 TraceCheckUtils]: 7: Hoare triple {607#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {641#(= |id_#in~x| 0)} assume true; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,524 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {641#(= |id_#in~x| 0)} {607#(= |id_#in~x| id_~x)} #27#return; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,524 INFO L290 TraceCheckUtils]: 10: Hoare triple {640#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,524 INFO L290 TraceCheckUtils]: 11: Hoare triple {640#(<= |id_#in~x| 1)} assume true; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,525 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {640#(<= |id_#in~x| 1)} {607#(= |id_#in~x| id_~x)} #27#return; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,525 INFO L290 TraceCheckUtils]: 13: Hoare triple {635#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,525 INFO L290 TraceCheckUtils]: 14: Hoare triple {635#(<= |id_#in~x| 2)} assume true; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,526 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {635#(<= |id_#in~x| 2)} {607#(= |id_#in~x| id_~x)} #27#return; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,526 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,527 INFO L290 TraceCheckUtils]: 1: Hoare triple {607#(= |id_#in~x| id_~x)} assume !(0 == ~x); {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,527 INFO L272 TraceCheckUtils]: 2: Hoare triple {607#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,527 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,527 INFO L290 TraceCheckUtils]: 4: Hoare triple {607#(= |id_#in~x| id_~x)} assume !(0 == ~x); {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,528 INFO L272 TraceCheckUtils]: 5: Hoare triple {607#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,528 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {607#(= |id_#in~x| id_~x)} assume !(0 == ~x); {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,528 INFO L272 TraceCheckUtils]: 8: Hoare triple {607#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,528 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,529 INFO L290 TraceCheckUtils]: 10: Hoare triple {607#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,529 INFO L290 TraceCheckUtils]: 11: Hoare triple {641#(= |id_#in~x| 0)} assume true; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,530 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {641#(= |id_#in~x| 0)} {607#(= |id_#in~x| id_~x)} #27#return; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,530 INFO L290 TraceCheckUtils]: 13: Hoare triple {640#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,530 INFO L290 TraceCheckUtils]: 14: Hoare triple {640#(<= |id_#in~x| 1)} assume true; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,531 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {640#(<= |id_#in~x| 1)} {607#(= |id_#in~x| id_~x)} #27#return; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,531 INFO L290 TraceCheckUtils]: 16: Hoare triple {635#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,531 INFO L290 TraceCheckUtils]: 17: Hoare triple {635#(<= |id_#in~x| 2)} assume true; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,532 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {635#(<= |id_#in~x| 2)} {607#(= |id_#in~x| id_~x)} #27#return; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {624#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {624#(<= |id_#in~x| 3)} assume true; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,533 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {624#(<= |id_#in~x| 3)} {584#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:35,533 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#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(15, 2);call #Ultimate.allocInit(12, 3); {582#true} is VALID [2022-02-20 18:16:35,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {582#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {584#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:35,534 INFO L272 TraceCheckUtils]: 2: Hoare triple {584#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {582#true} is VALID [2022-02-20 18:16:35,534 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,534 INFO L290 TraceCheckUtils]: 4: Hoare triple {607#(= |id_#in~x| id_~x)} assume !(0 == ~x); {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,534 INFO L272 TraceCheckUtils]: 5: Hoare triple {607#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,534 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {607#(= |id_#in~x| id_~x)} assume !(0 == ~x); {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,535 INFO L272 TraceCheckUtils]: 8: Hoare triple {607#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,535 INFO L290 TraceCheckUtils]: 10: Hoare triple {607#(= |id_#in~x| id_~x)} assume !(0 == ~x); {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,536 INFO L272 TraceCheckUtils]: 11: Hoare triple {607#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,536 INFO L290 TraceCheckUtils]: 12: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {607#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {641#(= |id_#in~x| 0)} assume true; {641#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,537 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {641#(= |id_#in~x| 0)} {607#(= |id_#in~x| id_~x)} #27#return; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,537 INFO L290 TraceCheckUtils]: 16: Hoare triple {640#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,537 INFO L290 TraceCheckUtils]: 17: Hoare triple {640#(<= |id_#in~x| 1)} assume true; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,538 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {640#(<= |id_#in~x| 1)} {607#(= |id_#in~x| id_~x)} #27#return; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,538 INFO L290 TraceCheckUtils]: 19: Hoare triple {635#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,539 INFO L290 TraceCheckUtils]: 20: Hoare triple {635#(<= |id_#in~x| 2)} assume true; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,539 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {635#(<= |id_#in~x| 2)} {607#(= |id_#in~x| id_~x)} #27#return; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,539 INFO L290 TraceCheckUtils]: 22: Hoare triple {624#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,540 INFO L290 TraceCheckUtils]: 23: Hoare triple {624#(<= |id_#in~x| 3)} assume true; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,540 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {624#(<= |id_#in~x| 3)} {584#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:35,540 INFO L290 TraceCheckUtils]: 25: Hoare triple {583#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {583#false} is VALID [2022-02-20 18:16:35,540 INFO L290 TraceCheckUtils]: 26: Hoare triple {583#false} assume 25 != main_~result~0#1; {583#false} is VALID [2022-02-20 18:16:35,540 INFO L290 TraceCheckUtils]: 27: Hoare triple {583#false} assume !false; {583#false} is VALID [2022-02-20 18:16:35,541 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 18:16:35,541 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:35,541 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1629188712] [2022-02-20 18:16:35,541 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1629188712] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:35,541 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [391325905] [2022-02-20 18:16:35,541 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 18:16:35,541 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:35,541 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:35,542 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:16:35,554 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 18:16:35,580 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 18:16:35,580 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:35,581 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 18:16:35,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:35,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:35,732 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#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(15, 2);call #Ultimate.allocInit(12, 3); {582#true} is VALID [2022-02-20 18:16:35,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {582#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {584#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:35,733 INFO L272 TraceCheckUtils]: 2: Hoare triple {584#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {582#true} is VALID [2022-02-20 18:16:35,739 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,739 INFO L290 TraceCheckUtils]: 4: Hoare triple {654#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,739 INFO L272 TraceCheckUtils]: 5: Hoare triple {654#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,740 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {654#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,740 INFO L272 TraceCheckUtils]: 8: Hoare triple {654#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,740 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,741 INFO L290 TraceCheckUtils]: 10: Hoare triple {654#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,741 INFO L272 TraceCheckUtils]: 11: Hoare triple {654#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:35,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:35,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {654#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {685#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,742 INFO L290 TraceCheckUtils]: 14: Hoare triple {685#(<= |id_#in~x| 0)} assume true; {685#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:35,742 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {685#(<= |id_#in~x| 0)} {654#(<= |id_#in~x| id_~x)} #27#return; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,743 INFO L290 TraceCheckUtils]: 16: Hoare triple {640#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,743 INFO L290 TraceCheckUtils]: 17: Hoare triple {640#(<= |id_#in~x| 1)} assume true; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:35,744 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {640#(<= |id_#in~x| 1)} {654#(<= |id_#in~x| id_~x)} #27#return; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {635#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {635#(<= |id_#in~x| 2)} assume true; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:35,745 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {635#(<= |id_#in~x| 2)} {654#(<= |id_#in~x| id_~x)} #27#return; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,745 INFO L290 TraceCheckUtils]: 22: Hoare triple {624#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,746 INFO L290 TraceCheckUtils]: 23: Hoare triple {624#(<= |id_#in~x| 3)} assume true; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:35,746 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {624#(<= |id_#in~x| 3)} {584#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:35,746 INFO L290 TraceCheckUtils]: 25: Hoare triple {583#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {583#false} is VALID [2022-02-20 18:16:35,746 INFO L290 TraceCheckUtils]: 26: Hoare triple {583#false} assume 25 != main_~result~0#1; {583#false} is VALID [2022-02-20 18:16:35,746 INFO L290 TraceCheckUtils]: 27: Hoare triple {583#false} assume !false; {583#false} is VALID [2022-02-20 18:16:35,747 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 18:16:35,747 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:37,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {583#false} assume !false; {583#false} is VALID [2022-02-20 18:16:37,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {583#false} assume 25 != main_~result~0#1; {583#false} is VALID [2022-02-20 18:16:37,150 INFO L290 TraceCheckUtils]: 25: Hoare triple {583#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {583#false} is VALID [2022-02-20 18:16:37,150 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {624#(<= |id_#in~x| 3)} {737#(< 3 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:37,150 INFO L290 TraceCheckUtils]: 23: Hoare triple {624#(<= |id_#in~x| 3)} assume true; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,151 INFO L290 TraceCheckUtils]: 22: Hoare triple {624#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,152 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {635#(<= |id_#in~x| 2)} {750#(or (< 3 id_~x) (<= |id_#in~x| 3))} #27#return; {624#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {635#(<= |id_#in~x| 2)} assume true; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,152 INFO L290 TraceCheckUtils]: 19: Hoare triple {635#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,153 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {640#(<= |id_#in~x| 1)} {763#(or (<= |id_#in~x| 2) (< 2 id_~x))} #27#return; {635#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,153 INFO L290 TraceCheckUtils]: 17: Hoare triple {640#(<= |id_#in~x| 1)} assume true; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,153 INFO L290 TraceCheckUtils]: 16: Hoare triple {640#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,154 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {685#(<= |id_#in~x| 0)} {776#(or (< 1 id_~x) (<= |id_#in~x| 1))} #27#return; {640#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,154 INFO L290 TraceCheckUtils]: 14: Hoare triple {685#(<= |id_#in~x| 0)} assume true; {685#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {786#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} assume 0 == ~x;#res := 0; {685#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {582#true} ~x := #in~x; {786#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} is VALID [2022-02-20 18:16:37,155 INFO L272 TraceCheckUtils]: 11: Hoare triple {776#(or (< 1 id_~x) (<= |id_#in~x| 1))} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:37,155 INFO L290 TraceCheckUtils]: 10: Hoare triple {776#(or (< 1 id_~x) (<= |id_#in~x| 1))} assume !(0 == ~x); {776#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:37,157 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {776#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:37,157 INFO L272 TraceCheckUtils]: 8: Hoare triple {763#(or (<= |id_#in~x| 2) (< 2 id_~x))} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:37,157 INFO L290 TraceCheckUtils]: 7: Hoare triple {763#(or (<= |id_#in~x| 2) (< 2 id_~x))} assume !(0 == ~x); {763#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:37,158 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {763#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:37,158 INFO L272 TraceCheckUtils]: 5: Hoare triple {750#(or (< 3 id_~x) (<= |id_#in~x| 3))} call #t~ret4 := id(~x - 1); {582#true} is VALID [2022-02-20 18:16:37,158 INFO L290 TraceCheckUtils]: 4: Hoare triple {750#(or (< 3 id_~x) (<= |id_#in~x| 3))} assume !(0 == ~x); {750#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:16:37,159 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {750#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:16:37,159 INFO L272 TraceCheckUtils]: 2: Hoare triple {737#(< 3 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {582#true} is VALID [2022-02-20 18:16:37,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {582#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {737#(< 3 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:37,160 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#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(15, 2);call #Ultimate.allocInit(12, 3); {582#true} is VALID [2022-02-20 18:16:37,160 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-02-20 18:16:37,160 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [391325905] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:37,160 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:37,160 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 11] total 15 [2022-02-20 18:16:37,160 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1796791358] [2022-02-20 18:16:37,160 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:37,161 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 15 states have internal predecessors, (28), 7 states have call successors, (7), 1 states have call predecessors, (7), 5 states have return successors, (11), 4 states have call predecessors, (11), 7 states have call successors, (11) Word has length 28 [2022-02-20 18:16:37,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:37,167 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 15 states have internal predecessors, (28), 7 states have call successors, (7), 1 states have call predecessors, (7), 5 states have return successors, (11), 4 states have call predecessors, (11), 7 states have call successors, (11) [2022-02-20 18:16:37,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:16:37,194 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 18:16:37,194 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:37,194 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 18:16:37,195 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=149, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:16:37,195 INFO L87 Difference]: Start difference. First operand 21 states and 22 transitions. Second operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 15 states have internal predecessors, (28), 7 states have call successors, (7), 1 states have call predecessors, (7), 5 states have return successors, (11), 4 states have call predecessors, (11), 7 states have call successors, (11) [2022-02-20 18:16:37,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:37,342 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2022-02-20 18:16:37,342 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:16:37,342 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 15 states have internal predecessors, (28), 7 states have call successors, (7), 1 states have call predecessors, (7), 5 states have return successors, (11), 4 states have call predecessors, (11), 7 states have call successors, (11) Word has length 28 [2022-02-20 18:16:37,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:37,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 15 states have internal predecessors, (28), 7 states have call successors, (7), 1 states have call predecessors, (7), 5 states have return successors, (11), 4 states have call predecessors, (11), 7 states have call successors, (11) [2022-02-20 18:16:37,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2022-02-20 18:16:37,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 15 states have internal predecessors, (28), 7 states have call successors, (7), 1 states have call predecessors, (7), 5 states have return successors, (11), 4 states have call predecessors, (11), 7 states have call successors, (11) [2022-02-20 18:16:37,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2022-02-20 18:16:37,345 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 29 transitions. [2022-02-20 18:16:37,367 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:16:37,368 INFO L225 Difference]: With dead ends: 28 [2022-02-20 18:16:37,368 INFO L226 Difference]: Without dead ends: 24 [2022-02-20 18:16:37,369 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 56 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=110, Invalid=232, Unknown=0, NotChecked=0, Total=342 [2022-02-20 18:16:37,370 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 24 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:16:37,370 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 63 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:16:37,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-02-20 18:16:37,373 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2022-02-20 18:16:37,373 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:37,373 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand has 24 states, 16 states have (on average 1.0625) internal successors, (17), 17 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 5 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 18:16:37,373 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand has 24 states, 16 states have (on average 1.0625) internal successors, (17), 17 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 5 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 18:16:37,373 INFO L87 Difference]: Start difference. First operand 24 states. Second operand has 24 states, 16 states have (on average 1.0625) internal successors, (17), 17 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 5 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 18:16:37,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:37,375 INFO L93 Difference]: Finished difference Result 24 states and 25 transitions. [2022-02-20 18:16:37,375 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2022-02-20 18:16:37,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:37,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:37,376 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 16 states have (on average 1.0625) internal successors, (17), 17 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 5 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) Second operand 24 states. [2022-02-20 18:16:37,376 INFO L87 Difference]: Start difference. First operand has 24 states, 16 states have (on average 1.0625) internal successors, (17), 17 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 5 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) Second operand 24 states. [2022-02-20 18:16:37,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:37,377 INFO L93 Difference]: Finished difference Result 24 states and 25 transitions. [2022-02-20 18:16:37,377 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2022-02-20 18:16:37,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:37,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:37,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:37,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:37,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 16 states have (on average 1.0625) internal successors, (17), 17 states have internal predecessors, (17), 2 states have call successors, (2), 1 states have call predecessors, (2), 5 states have return successors, (6), 5 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 18:16:37,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2022-02-20 18:16:37,379 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 25 transitions. Word has length 28 [2022-02-20 18:16:37,379 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:37,379 INFO L470 AbstractCegarLoop]: Abstraction has 24 states and 25 transitions. [2022-02-20 18:16:37,380 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 15 states have internal predecessors, (28), 7 states have call successors, (7), 1 states have call predecessors, (7), 5 states have return successors, (11), 4 states have call predecessors, (11), 7 states have call successors, (11) [2022-02-20 18:16:37,380 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2022-02-20 18:16:37,380 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 18:16:37,380 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:37,380 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:37,397 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 18:16:37,596 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:37,597 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:37,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:37,597 INFO L85 PathProgramCache]: Analyzing trace with hash 371264716, now seen corresponding path program 4 times [2022-02-20 18:16:37,597 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:37,597 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [446519349] [2022-02-20 18:16:37,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:37,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:37,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,659 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,681 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,724 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,734 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,735 INFO L290 TraceCheckUtils]: 1: Hoare triple {958#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {1015#(= |id_#in~x| 0)} assume true; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1015#(= |id_#in~x| 0)} {958#(= |id_#in~x| id_~x)} #27#return; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,736 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,736 INFO L272 TraceCheckUtils]: 2: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,737 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,737 INFO L290 TraceCheckUtils]: 4: Hoare triple {958#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {1015#(= |id_#in~x| 0)} assume true; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,738 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1015#(= |id_#in~x| 0)} {958#(= |id_#in~x| id_~x)} #27#return; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {1014#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {1014#(<= |id_#in~x| 1)} assume true; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,739 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1014#(<= |id_#in~x| 1)} {958#(= |id_#in~x| id_~x)} #27#return; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,739 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,740 INFO L272 TraceCheckUtils]: 2: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,740 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,740 INFO L290 TraceCheckUtils]: 4: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,740 INFO L272 TraceCheckUtils]: 5: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,740 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,741 INFO L290 TraceCheckUtils]: 7: Hoare triple {958#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,741 INFO L290 TraceCheckUtils]: 8: Hoare triple {1015#(= |id_#in~x| 0)} assume true; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,742 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1015#(= |id_#in~x| 0)} {958#(= |id_#in~x| id_~x)} #27#return; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,742 INFO L290 TraceCheckUtils]: 10: Hoare triple {1014#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {1014#(<= |id_#in~x| 1)} assume true; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,743 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1014#(<= |id_#in~x| 1)} {958#(= |id_#in~x| id_~x)} #27#return; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {1009#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,743 INFO L290 TraceCheckUtils]: 14: Hoare triple {1009#(<= |id_#in~x| 2)} assume true; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,744 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1009#(<= |id_#in~x| 2)} {958#(= |id_#in~x| id_~x)} #27#return; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,744 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,744 INFO L272 TraceCheckUtils]: 2: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,745 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,745 INFO L290 TraceCheckUtils]: 4: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,745 INFO L272 TraceCheckUtils]: 5: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,745 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,746 INFO L272 TraceCheckUtils]: 8: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,746 INFO L290 TraceCheckUtils]: 10: Hoare triple {958#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,746 INFO L290 TraceCheckUtils]: 11: Hoare triple {1015#(= |id_#in~x| 0)} assume true; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,747 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1015#(= |id_#in~x| 0)} {958#(= |id_#in~x| id_~x)} #27#return; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {1014#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,747 INFO L290 TraceCheckUtils]: 14: Hoare triple {1014#(<= |id_#in~x| 1)} assume true; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,748 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1014#(<= |id_#in~x| 1)} {958#(= |id_#in~x| id_~x)} #27#return; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,748 INFO L290 TraceCheckUtils]: 16: Hoare triple {1009#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,748 INFO L290 TraceCheckUtils]: 17: Hoare triple {1009#(<= |id_#in~x| 2)} assume true; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,750 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1009#(<= |id_#in~x| 2)} {958#(= |id_#in~x| id_~x)} #27#return; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {998#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,750 INFO L290 TraceCheckUtils]: 20: Hoare triple {998#(<= |id_#in~x| 3)} assume true; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,751 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {998#(<= |id_#in~x| 3)} {958#(= |id_#in~x| id_~x)} #27#return; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:37,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,752 INFO L272 TraceCheckUtils]: 2: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,752 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,753 INFO L290 TraceCheckUtils]: 4: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,753 INFO L272 TraceCheckUtils]: 5: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,753 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,753 INFO L290 TraceCheckUtils]: 7: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,753 INFO L272 TraceCheckUtils]: 8: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,754 INFO L290 TraceCheckUtils]: 10: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,754 INFO L272 TraceCheckUtils]: 11: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,754 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {958#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {1015#(= |id_#in~x| 0)} assume true; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,755 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1015#(= |id_#in~x| 0)} {958#(= |id_#in~x| id_~x)} #27#return; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,756 INFO L290 TraceCheckUtils]: 16: Hoare triple {1014#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,756 INFO L290 TraceCheckUtils]: 17: Hoare triple {1014#(<= |id_#in~x| 1)} assume true; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,761 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1014#(<= |id_#in~x| 1)} {958#(= |id_#in~x| id_~x)} #27#return; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,762 INFO L290 TraceCheckUtils]: 19: Hoare triple {1009#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,763 INFO L290 TraceCheckUtils]: 20: Hoare triple {1009#(<= |id_#in~x| 2)} assume true; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,763 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1009#(<= |id_#in~x| 2)} {958#(= |id_#in~x| id_~x)} #27#return; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,763 INFO L290 TraceCheckUtils]: 22: Hoare triple {998#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,764 INFO L290 TraceCheckUtils]: 23: Hoare triple {998#(<= |id_#in~x| 3)} assume true; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,764 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {998#(<= |id_#in~x| 3)} {958#(= |id_#in~x| id_~x)} #27#return; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:37,765 INFO L290 TraceCheckUtils]: 25: Hoare triple {981#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:37,765 INFO L290 TraceCheckUtils]: 26: Hoare triple {981#(<= |id_#in~x| 4)} assume true; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:37,765 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {981#(<= |id_#in~x| 4)} {929#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:37,765 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#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(15, 2);call #Ultimate.allocInit(12, 3); {927#true} is VALID [2022-02-20 18:16:37,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {927#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {929#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:37,766 INFO L272 TraceCheckUtils]: 2: Hoare triple {929#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {927#true} is VALID [2022-02-20 18:16:37,766 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,766 INFO L290 TraceCheckUtils]: 4: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,766 INFO L272 TraceCheckUtils]: 5: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,767 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,767 INFO L272 TraceCheckUtils]: 8: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,767 INFO L290 TraceCheckUtils]: 10: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,768 INFO L272 TraceCheckUtils]: 11: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,768 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,768 INFO L290 TraceCheckUtils]: 13: Hoare triple {958#(= |id_#in~x| id_~x)} assume !(0 == ~x); {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,768 INFO L272 TraceCheckUtils]: 14: Hoare triple {958#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:37,768 INFO L290 TraceCheckUtils]: 15: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,769 INFO L290 TraceCheckUtils]: 16: Hoare triple {958#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,769 INFO L290 TraceCheckUtils]: 17: Hoare triple {1015#(= |id_#in~x| 0)} assume true; {1015#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:37,769 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1015#(= |id_#in~x| 0)} {958#(= |id_#in~x| id_~x)} #27#return; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,770 INFO L290 TraceCheckUtils]: 19: Hoare triple {1014#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,770 INFO L290 TraceCheckUtils]: 20: Hoare triple {1014#(<= |id_#in~x| 1)} assume true; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:37,771 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1014#(<= |id_#in~x| 1)} {958#(= |id_#in~x| id_~x)} #27#return; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,771 INFO L290 TraceCheckUtils]: 22: Hoare triple {1009#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {1009#(<= |id_#in~x| 2)} assume true; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:37,772 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1009#(<= |id_#in~x| 2)} {958#(= |id_#in~x| id_~x)} #27#return; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {998#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,772 INFO L290 TraceCheckUtils]: 26: Hoare triple {998#(<= |id_#in~x| 3)} assume true; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:37,773 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {998#(<= |id_#in~x| 3)} {958#(= |id_#in~x| id_~x)} #27#return; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:37,773 INFO L290 TraceCheckUtils]: 28: Hoare triple {981#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:37,773 INFO L290 TraceCheckUtils]: 29: Hoare triple {981#(<= |id_#in~x| 4)} assume true; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:37,774 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {981#(<= |id_#in~x| 4)} {929#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:37,774 INFO L290 TraceCheckUtils]: 31: Hoare triple {928#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {928#false} is VALID [2022-02-20 18:16:37,774 INFO L290 TraceCheckUtils]: 32: Hoare triple {928#false} assume 25 != main_~result~0#1; {928#false} is VALID [2022-02-20 18:16:37,774 INFO L290 TraceCheckUtils]: 33: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-02-20 18:16:37,774 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 18:16:37,774 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:37,774 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [446519349] [2022-02-20 18:16:37,774 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [446519349] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:37,774 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1066739372] [2022-02-20 18:16:37,774 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 18:16:37,774 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:37,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:37,775 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:16:37,776 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 18:16:37,810 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 18:16:37,810 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:37,811 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 18:16:37,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,819 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:38,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#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(15, 2);call #Ultimate.allocInit(12, 3); {927#true} is VALID [2022-02-20 18:16:38,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {927#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {929#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:38,019 INFO L272 TraceCheckUtils]: 2: Hoare triple {929#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {927#true} is VALID [2022-02-20 18:16:38,019 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:38,020 INFO L290 TraceCheckUtils]: 4: Hoare triple {1028#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:38,020 INFO L272 TraceCheckUtils]: 5: Hoare triple {1028#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:38,020 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:38,020 INFO L290 TraceCheckUtils]: 7: Hoare triple {1028#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:38,020 INFO L272 TraceCheckUtils]: 8: Hoare triple {1028#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:38,021 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:38,021 INFO L290 TraceCheckUtils]: 10: Hoare triple {1028#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:38,021 INFO L272 TraceCheckUtils]: 11: Hoare triple {1028#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:38,021 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:38,022 INFO L290 TraceCheckUtils]: 13: Hoare triple {1028#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:38,022 INFO L272 TraceCheckUtils]: 14: Hoare triple {1028#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:38,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:38,022 INFO L290 TraceCheckUtils]: 16: Hoare triple {1028#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1068#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:38,022 INFO L290 TraceCheckUtils]: 17: Hoare triple {1068#(<= |id_#in~x| 0)} assume true; {1068#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:38,023 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1068#(<= |id_#in~x| 0)} {1028#(<= |id_#in~x| id_~x)} #27#return; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:38,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {1014#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:38,024 INFO L290 TraceCheckUtils]: 20: Hoare triple {1014#(<= |id_#in~x| 1)} assume true; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:38,024 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1014#(<= |id_#in~x| 1)} {1028#(<= |id_#in~x| id_~x)} #27#return; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:38,024 INFO L290 TraceCheckUtils]: 22: Hoare triple {1009#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:38,025 INFO L290 TraceCheckUtils]: 23: Hoare triple {1009#(<= |id_#in~x| 2)} assume true; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:38,025 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1009#(<= |id_#in~x| 2)} {1028#(<= |id_#in~x| id_~x)} #27#return; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:38,026 INFO L290 TraceCheckUtils]: 25: Hoare triple {998#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:38,026 INFO L290 TraceCheckUtils]: 26: Hoare triple {998#(<= |id_#in~x| 3)} assume true; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:38,026 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {998#(<= |id_#in~x| 3)} {1028#(<= |id_#in~x| id_~x)} #27#return; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:38,027 INFO L290 TraceCheckUtils]: 28: Hoare triple {981#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:38,027 INFO L290 TraceCheckUtils]: 29: Hoare triple {981#(<= |id_#in~x| 4)} assume true; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:38,028 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {981#(<= |id_#in~x| 4)} {929#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:38,028 INFO L290 TraceCheckUtils]: 31: Hoare triple {928#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {928#false} is VALID [2022-02-20 18:16:38,028 INFO L290 TraceCheckUtils]: 32: Hoare triple {928#false} assume 25 != main_~result~0#1; {928#false} is VALID [2022-02-20 18:16:38,028 INFO L290 TraceCheckUtils]: 33: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-02-20 18:16:38,028 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 18:16:38,028 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:40,225 INFO L290 TraceCheckUtils]: 33: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-02-20 18:16:40,226 INFO L290 TraceCheckUtils]: 32: Hoare triple {928#false} assume 25 != main_~result~0#1; {928#false} is VALID [2022-02-20 18:16:40,226 INFO L290 TraceCheckUtils]: 31: Hoare triple {928#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {928#false} is VALID [2022-02-20 18:16:40,226 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {981#(<= |id_#in~x| 4)} {1129#(< 4 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:40,227 INFO L290 TraceCheckUtils]: 29: Hoare triple {981#(<= |id_#in~x| 4)} assume true; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,227 INFO L290 TraceCheckUtils]: 28: Hoare triple {981#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,228 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {998#(<= |id_#in~x| 3)} {1142#(or (<= |id_#in~x| 4) (< 4 id_~x))} #27#return; {981#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,228 INFO L290 TraceCheckUtils]: 26: Hoare triple {998#(<= |id_#in~x| 3)} assume true; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,228 INFO L290 TraceCheckUtils]: 25: Hoare triple {998#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,229 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1009#(<= |id_#in~x| 2)} {1155#(or (< 3 id_~x) (<= |id_#in~x| 3))} #27#return; {998#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,229 INFO L290 TraceCheckUtils]: 23: Hoare triple {1009#(<= |id_#in~x| 2)} assume true; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,229 INFO L290 TraceCheckUtils]: 22: Hoare triple {1009#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,230 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1014#(<= |id_#in~x| 1)} {1168#(or (<= |id_#in~x| 2) (< 2 id_~x))} #27#return; {1009#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {1014#(<= |id_#in~x| 1)} assume true; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,231 INFO L290 TraceCheckUtils]: 19: Hoare triple {1014#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,243 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1068#(<= |id_#in~x| 0)} {1181#(or (< 1 id_~x) (<= |id_#in~x| 1))} #27#return; {1014#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,244 INFO L290 TraceCheckUtils]: 17: Hoare triple {1068#(<= |id_#in~x| 0)} assume true; {1068#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,244 INFO L290 TraceCheckUtils]: 16: Hoare triple {1191#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} assume 0 == ~x;#res := 0; {1068#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,244 INFO L290 TraceCheckUtils]: 15: Hoare triple {927#true} ~x := #in~x; {1191#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} is VALID [2022-02-20 18:16:40,244 INFO L272 TraceCheckUtils]: 14: Hoare triple {1181#(or (< 1 id_~x) (<= |id_#in~x| 1))} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:40,245 INFO L290 TraceCheckUtils]: 13: Hoare triple {1181#(or (< 1 id_~x) (<= |id_#in~x| 1))} assume !(0 == ~x); {1181#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:40,245 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {1181#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:40,245 INFO L272 TraceCheckUtils]: 11: Hoare triple {1168#(or (<= |id_#in~x| 2) (< 2 id_~x))} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:40,245 INFO L290 TraceCheckUtils]: 10: Hoare triple {1168#(or (<= |id_#in~x| 2) (< 2 id_~x))} assume !(0 == ~x); {1168#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:40,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {1168#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:40,246 INFO L272 TraceCheckUtils]: 8: Hoare triple {1155#(or (< 3 id_~x) (<= |id_#in~x| 3))} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:40,246 INFO L290 TraceCheckUtils]: 7: Hoare triple {1155#(or (< 3 id_~x) (<= |id_#in~x| 3))} assume !(0 == ~x); {1155#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:16:40,246 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {1155#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:16:40,246 INFO L272 TraceCheckUtils]: 5: Hoare triple {1142#(or (<= |id_#in~x| 4) (< 4 id_~x))} call #t~ret4 := id(~x - 1); {927#true} is VALID [2022-02-20 18:16:40,247 INFO L290 TraceCheckUtils]: 4: Hoare triple {1142#(or (<= |id_#in~x| 4) (< 4 id_~x))} assume !(0 == ~x); {1142#(or (<= |id_#in~x| 4) (< 4 id_~x))} is VALID [2022-02-20 18:16:40,247 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {1142#(or (<= |id_#in~x| 4) (< 4 id_~x))} is VALID [2022-02-20 18:16:40,247 INFO L272 TraceCheckUtils]: 2: Hoare triple {1129#(< 4 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {927#true} is VALID [2022-02-20 18:16:40,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {927#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {1129#(< 4 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:40,247 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#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(15, 2);call #Ultimate.allocInit(12, 3); {927#true} is VALID [2022-02-20 18:16:40,247 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 42 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 18:16:40,248 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1066739372] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:40,248 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:40,248 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 13] total 17 [2022-02-20 18:16:40,248 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [535966456] [2022-02-20 18:16:40,248 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:40,248 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 17 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 6 states have return successors, (14), 5 states have call predecessors, (14), 8 states have call successors, (14) Word has length 34 [2022-02-20 18:16:40,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:40,305 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 17 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 6 states have return successors, (14), 5 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:16:40,341 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:16:40,341 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 18:16:40,341 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:40,342 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 18:16:40,342 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=194, Unknown=0, NotChecked=0, Total=272 [2022-02-20 18:16:40,342 INFO L87 Difference]: Start difference. First operand 24 states and 25 transitions. Second operand has 17 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 17 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 6 states have return successors, (14), 5 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:16:40,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:40,498 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2022-02-20 18:16:40,499 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 18:16:40,499 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 17 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 6 states have return successors, (14), 5 states have call predecessors, (14), 8 states have call successors, (14) Word has length 34 [2022-02-20 18:16:40,499 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:40,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 17 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 6 states have return successors, (14), 5 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:16:40,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 32 transitions. [2022-02-20 18:16:40,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 17 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 6 states have return successors, (14), 5 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:16:40,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 32 transitions. [2022-02-20 18:16:40,502 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 32 transitions. [2022-02-20 18:16:40,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:16:40,538 INFO L225 Difference]: With dead ends: 31 [2022-02-20 18:16:40,538 INFO L226 Difference]: Without dead ends: 27 [2022-02-20 18:16:40,539 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=149, Invalid=313, Unknown=0, NotChecked=0, Total=462 [2022-02-20 18:16:40,540 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 38 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 55 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:16:40,541 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 62 Invalid, 55 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:16:40,543 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-02-20 18:16:40,546 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-02-20 18:16:40,546 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:40,547 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.0555555555555556) internal successors, (19), 19 states have internal predecessors, (19), 2 states have call successors, (2), 1 states have call predecessors, (2), 6 states have return successors, (7), 6 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 18:16:40,547 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.0555555555555556) internal successors, (19), 19 states have internal predecessors, (19), 2 states have call successors, (2), 1 states have call predecessors, (2), 6 states have return successors, (7), 6 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 18:16:40,547 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.0555555555555556) internal successors, (19), 19 states have internal predecessors, (19), 2 states have call successors, (2), 1 states have call predecessors, (2), 6 states have return successors, (7), 6 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 18:16:40,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:40,548 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2022-02-20 18:16:40,548 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2022-02-20 18:16:40,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:40,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:40,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 18 states have (on average 1.0555555555555556) internal successors, (19), 19 states have internal predecessors, (19), 2 states have call successors, (2), 1 states have call predecessors, (2), 6 states have return successors, (7), 6 states have call predecessors, (7), 2 states have call successors, (7) Second operand 27 states. [2022-02-20 18:16:40,549 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.0555555555555556) internal successors, (19), 19 states have internal predecessors, (19), 2 states have call successors, (2), 1 states have call predecessors, (2), 6 states have return successors, (7), 6 states have call predecessors, (7), 2 states have call successors, (7) Second operand 27 states. [2022-02-20 18:16:40,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:40,550 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2022-02-20 18:16:40,550 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2022-02-20 18:16:40,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:40,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:40,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:40,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:40,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.0555555555555556) internal successors, (19), 19 states have internal predecessors, (19), 2 states have call successors, (2), 1 states have call predecessors, (2), 6 states have return successors, (7), 6 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 18:16:40,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 28 transitions. [2022-02-20 18:16:40,555 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 28 transitions. Word has length 34 [2022-02-20 18:16:40,555 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:40,555 INFO L470 AbstractCegarLoop]: Abstraction has 27 states and 28 transitions. [2022-02-20 18:16:40,556 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 17 states have internal predecessors, (32), 8 states have call successors, (8), 1 states have call predecessors, (8), 6 states have return successors, (14), 5 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:16:40,556 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2022-02-20 18:16:40,559 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 18:16:40,559 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:40,559 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:40,576 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-02-20 18:16:40,775 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:40,775 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:40,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:40,776 INFO L85 PathProgramCache]: Analyzing trace with hash -886339242, now seen corresponding path program 5 times [2022-02-20 18:16:40,776 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:40,776 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [72312373] [2022-02-20 18:16:40,776 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:40,776 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:40,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:40,799 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:40,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:40,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:40,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:40,839 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:40,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:40,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:40,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:40,876 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:40,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:40,890 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:40,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:40,924 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {1389#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {1475#(= |id_#in~x| 0)} assume true; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,925 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1475#(= |id_#in~x| 0)} {1389#(= |id_#in~x| id_~x)} #27#return; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,926 INFO L272 TraceCheckUtils]: 2: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,926 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,927 INFO L290 TraceCheckUtils]: 4: Hoare triple {1389#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,927 INFO L290 TraceCheckUtils]: 5: Hoare triple {1475#(= |id_#in~x| 0)} assume true; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,928 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1475#(= |id_#in~x| 0)} {1389#(= |id_#in~x| id_~x)} #27#return; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,928 INFO L290 TraceCheckUtils]: 7: Hoare triple {1474#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,928 INFO L290 TraceCheckUtils]: 8: Hoare triple {1474#(<= |id_#in~x| 1)} assume true; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,929 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1474#(<= |id_#in~x| 1)} {1389#(= |id_#in~x| id_~x)} #27#return; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,929 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,930 INFO L272 TraceCheckUtils]: 2: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,930 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,930 INFO L290 TraceCheckUtils]: 4: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,931 INFO L272 TraceCheckUtils]: 5: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,931 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {1389#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {1475#(= |id_#in~x| 0)} assume true; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,933 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1475#(= |id_#in~x| 0)} {1389#(= |id_#in~x| id_~x)} #27#return; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,934 INFO L290 TraceCheckUtils]: 10: Hoare triple {1474#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,934 INFO L290 TraceCheckUtils]: 11: Hoare triple {1474#(<= |id_#in~x| 1)} assume true; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,935 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1474#(<= |id_#in~x| 1)} {1389#(= |id_#in~x| id_~x)} #27#return; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,935 INFO L290 TraceCheckUtils]: 13: Hoare triple {1469#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,935 INFO L290 TraceCheckUtils]: 14: Hoare triple {1469#(<= |id_#in~x| 2)} assume true; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,937 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1469#(<= |id_#in~x| 2)} {1389#(= |id_#in~x| id_~x)} #27#return; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,938 INFO L272 TraceCheckUtils]: 2: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,938 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,938 INFO L290 TraceCheckUtils]: 4: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,938 INFO L272 TraceCheckUtils]: 5: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,939 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,939 INFO L272 TraceCheckUtils]: 8: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,940 INFO L290 TraceCheckUtils]: 10: Hoare triple {1389#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,940 INFO L290 TraceCheckUtils]: 11: Hoare triple {1475#(= |id_#in~x| 0)} assume true; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,941 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1475#(= |id_#in~x| 0)} {1389#(= |id_#in~x| id_~x)} #27#return; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {1474#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {1474#(<= |id_#in~x| 1)} assume true; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,942 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1474#(<= |id_#in~x| 1)} {1389#(= |id_#in~x| id_~x)} #27#return; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {1469#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,942 INFO L290 TraceCheckUtils]: 17: Hoare triple {1469#(<= |id_#in~x| 2)} assume true; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,943 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1469#(<= |id_#in~x| 2)} {1389#(= |id_#in~x| id_~x)} #27#return; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {1458#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {1458#(<= |id_#in~x| 3)} assume true; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,944 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1458#(<= |id_#in~x| 3)} {1389#(= |id_#in~x| id_~x)} #27#return; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,945 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,945 INFO L272 TraceCheckUtils]: 2: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,945 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,946 INFO L290 TraceCheckUtils]: 4: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,946 INFO L272 TraceCheckUtils]: 5: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,946 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,947 INFO L272 TraceCheckUtils]: 8: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,947 INFO L290 TraceCheckUtils]: 10: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,947 INFO L272 TraceCheckUtils]: 11: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,948 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {1389#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {1475#(= |id_#in~x| 0)} assume true; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,949 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1475#(= |id_#in~x| 0)} {1389#(= |id_#in~x| id_~x)} #27#return; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,949 INFO L290 TraceCheckUtils]: 16: Hoare triple {1474#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {1474#(<= |id_#in~x| 1)} assume true; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,950 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1474#(<= |id_#in~x| 1)} {1389#(= |id_#in~x| id_~x)} #27#return; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,950 INFO L290 TraceCheckUtils]: 19: Hoare triple {1469#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {1469#(<= |id_#in~x| 2)} assume true; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,951 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1469#(<= |id_#in~x| 2)} {1389#(= |id_#in~x| id_~x)} #27#return; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,951 INFO L290 TraceCheckUtils]: 22: Hoare triple {1458#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,952 INFO L290 TraceCheckUtils]: 23: Hoare triple {1458#(<= |id_#in~x| 3)} assume true; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,952 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1458#(<= |id_#in~x| 3)} {1389#(= |id_#in~x| id_~x)} #27#return; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,952 INFO L290 TraceCheckUtils]: 25: Hoare triple {1441#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,953 INFO L290 TraceCheckUtils]: 26: Hoare triple {1441#(<= |id_#in~x| 4)} assume true; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,953 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1441#(<= |id_#in~x| 4)} {1389#(= |id_#in~x| id_~x)} #27#return; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:40,954 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,954 INFO L272 TraceCheckUtils]: 2: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,954 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,955 INFO L290 TraceCheckUtils]: 4: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,955 INFO L272 TraceCheckUtils]: 5: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,955 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,956 INFO L272 TraceCheckUtils]: 8: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,956 INFO L272 TraceCheckUtils]: 11: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,956 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,957 INFO L272 TraceCheckUtils]: 14: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,957 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,957 INFO L290 TraceCheckUtils]: 16: Hoare triple {1389#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,958 INFO L290 TraceCheckUtils]: 17: Hoare triple {1475#(= |id_#in~x| 0)} assume true; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,958 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1475#(= |id_#in~x| 0)} {1389#(= |id_#in~x| id_~x)} #27#return; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,959 INFO L290 TraceCheckUtils]: 19: Hoare triple {1474#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {1474#(<= |id_#in~x| 1)} assume true; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,959 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1474#(<= |id_#in~x| 1)} {1389#(= |id_#in~x| id_~x)} #27#return; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,960 INFO L290 TraceCheckUtils]: 22: Hoare triple {1469#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,960 INFO L290 TraceCheckUtils]: 23: Hoare triple {1469#(<= |id_#in~x| 2)} assume true; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,961 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1469#(<= |id_#in~x| 2)} {1389#(= |id_#in~x| id_~x)} #27#return; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,961 INFO L290 TraceCheckUtils]: 25: Hoare triple {1458#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,961 INFO L290 TraceCheckUtils]: 26: Hoare triple {1458#(<= |id_#in~x| 3)} assume true; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,962 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1458#(<= |id_#in~x| 3)} {1389#(= |id_#in~x| id_~x)} #27#return; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,962 INFO L290 TraceCheckUtils]: 28: Hoare triple {1441#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,962 INFO L290 TraceCheckUtils]: 29: Hoare triple {1441#(<= |id_#in~x| 4)} assume true; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,963 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1441#(<= |id_#in~x| 4)} {1389#(= |id_#in~x| id_~x)} #27#return; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:40,963 INFO L290 TraceCheckUtils]: 31: Hoare triple {1418#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:40,963 INFO L290 TraceCheckUtils]: 32: Hoare triple {1418#(<= |id_#in~x| 5)} assume true; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:40,964 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1354#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:40,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#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(15, 2);call #Ultimate.allocInit(12, 3); {1352#true} is VALID [2022-02-20 18:16:40,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {1352#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {1354#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:40,965 INFO L272 TraceCheckUtils]: 2: Hoare triple {1354#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {1352#true} is VALID [2022-02-20 18:16:40,965 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,965 INFO L290 TraceCheckUtils]: 4: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,965 INFO L272 TraceCheckUtils]: 5: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,965 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,966 INFO L290 TraceCheckUtils]: 7: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,966 INFO L272 TraceCheckUtils]: 8: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,966 INFO L290 TraceCheckUtils]: 10: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,967 INFO L272 TraceCheckUtils]: 11: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,967 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,967 INFO L272 TraceCheckUtils]: 14: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,968 INFO L290 TraceCheckUtils]: 16: Hoare triple {1389#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,968 INFO L272 TraceCheckUtils]: 17: Hoare triple {1389#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:40,968 INFO L290 TraceCheckUtils]: 18: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:40,968 INFO L290 TraceCheckUtils]: 19: Hoare triple {1389#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {1475#(= |id_#in~x| 0)} assume true; {1475#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:40,969 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1475#(= |id_#in~x| 0)} {1389#(= |id_#in~x| id_~x)} #27#return; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {1474#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,970 INFO L290 TraceCheckUtils]: 23: Hoare triple {1474#(<= |id_#in~x| 1)} assume true; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:40,970 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1474#(<= |id_#in~x| 1)} {1389#(= |id_#in~x| id_~x)} #27#return; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,971 INFO L290 TraceCheckUtils]: 25: Hoare triple {1469#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,971 INFO L290 TraceCheckUtils]: 26: Hoare triple {1469#(<= |id_#in~x| 2)} assume true; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:40,972 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1469#(<= |id_#in~x| 2)} {1389#(= |id_#in~x| id_~x)} #27#return; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,972 INFO L290 TraceCheckUtils]: 28: Hoare triple {1458#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,972 INFO L290 TraceCheckUtils]: 29: Hoare triple {1458#(<= |id_#in~x| 3)} assume true; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:40,973 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1458#(<= |id_#in~x| 3)} {1389#(= |id_#in~x| id_~x)} #27#return; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,973 INFO L290 TraceCheckUtils]: 31: Hoare triple {1441#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,973 INFO L290 TraceCheckUtils]: 32: Hoare triple {1441#(<= |id_#in~x| 4)} assume true; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:40,974 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1441#(<= |id_#in~x| 4)} {1389#(= |id_#in~x| id_~x)} #27#return; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:40,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {1418#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:40,974 INFO L290 TraceCheckUtils]: 35: Hoare triple {1418#(<= |id_#in~x| 5)} assume true; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:40,975 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1354#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:40,975 INFO L290 TraceCheckUtils]: 37: Hoare triple {1353#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {1353#false} is VALID [2022-02-20 18:16:40,975 INFO L290 TraceCheckUtils]: 38: Hoare triple {1353#false} assume 25 != main_~result~0#1; {1353#false} is VALID [2022-02-20 18:16:40,975 INFO L290 TraceCheckUtils]: 39: Hoare triple {1353#false} assume !false; {1353#false} is VALID [2022-02-20 18:16:40,975 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-02-20 18:16:40,976 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:40,976 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [72312373] [2022-02-20 18:16:40,976 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [72312373] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:40,976 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1553820646] [2022-02-20 18:16:40,976 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-02-20 18:16:40,976 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:40,976 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:40,977 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:16:41,011 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 18:16:41,032 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2022-02-20 18:16:41,032 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:41,032 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 18:16:41,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:41,042 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:41,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#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(15, 2);call #Ultimate.allocInit(12, 3); {1352#true} is VALID [2022-02-20 18:16:41,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {1352#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {1354#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:41,283 INFO L272 TraceCheckUtils]: 2: Hoare triple {1354#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {1352#true} is VALID [2022-02-20 18:16:41,284 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,284 INFO L290 TraceCheckUtils]: 4: Hoare triple {1488#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,284 INFO L272 TraceCheckUtils]: 5: Hoare triple {1488#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:41,284 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,285 INFO L290 TraceCheckUtils]: 7: Hoare triple {1488#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,285 INFO L272 TraceCheckUtils]: 8: Hoare triple {1488#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:41,285 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,285 INFO L290 TraceCheckUtils]: 10: Hoare triple {1488#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,285 INFO L272 TraceCheckUtils]: 11: Hoare triple {1488#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:41,286 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,286 INFO L290 TraceCheckUtils]: 13: Hoare triple {1488#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,286 INFO L272 TraceCheckUtils]: 14: Hoare triple {1488#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:41,286 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,286 INFO L290 TraceCheckUtils]: 16: Hoare triple {1488#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,287 INFO L272 TraceCheckUtils]: 17: Hoare triple {1488#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:41,287 INFO L290 TraceCheckUtils]: 18: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:41,287 INFO L290 TraceCheckUtils]: 19: Hoare triple {1488#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {1537#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:41,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {1537#(<= |id_#in~x| 0)} assume true; {1537#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:41,288 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1537#(<= |id_#in~x| 0)} {1488#(<= |id_#in~x| id_~x)} #27#return; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:41,289 INFO L290 TraceCheckUtils]: 22: Hoare triple {1474#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:41,289 INFO L290 TraceCheckUtils]: 23: Hoare triple {1474#(<= |id_#in~x| 1)} assume true; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:41,289 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1474#(<= |id_#in~x| 1)} {1488#(<= |id_#in~x| id_~x)} #27#return; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:41,290 INFO L290 TraceCheckUtils]: 25: Hoare triple {1469#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:41,290 INFO L290 TraceCheckUtils]: 26: Hoare triple {1469#(<= |id_#in~x| 2)} assume true; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:41,291 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1469#(<= |id_#in~x| 2)} {1488#(<= |id_#in~x| id_~x)} #27#return; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:41,291 INFO L290 TraceCheckUtils]: 28: Hoare triple {1458#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:41,291 INFO L290 TraceCheckUtils]: 29: Hoare triple {1458#(<= |id_#in~x| 3)} assume true; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:41,292 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1458#(<= |id_#in~x| 3)} {1488#(<= |id_#in~x| id_~x)} #27#return; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:41,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {1441#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:41,292 INFO L290 TraceCheckUtils]: 32: Hoare triple {1441#(<= |id_#in~x| 4)} assume true; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:41,293 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1441#(<= |id_#in~x| 4)} {1488#(<= |id_#in~x| id_~x)} #27#return; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:41,293 INFO L290 TraceCheckUtils]: 34: Hoare triple {1418#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:41,293 INFO L290 TraceCheckUtils]: 35: Hoare triple {1418#(<= |id_#in~x| 5)} assume true; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:41,294 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1354#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:41,294 INFO L290 TraceCheckUtils]: 37: Hoare triple {1353#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {1353#false} is VALID [2022-02-20 18:16:41,294 INFO L290 TraceCheckUtils]: 38: Hoare triple {1353#false} assume 25 != main_~result~0#1; {1353#false} is VALID [2022-02-20 18:16:41,294 INFO L290 TraceCheckUtils]: 39: Hoare triple {1353#false} assume !false; {1353#false} is VALID [2022-02-20 18:16:41,294 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-02-20 18:16:41,294 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:44,457 INFO L290 TraceCheckUtils]: 39: Hoare triple {1353#false} assume !false; {1353#false} is VALID [2022-02-20 18:16:44,457 INFO L290 TraceCheckUtils]: 38: Hoare triple {1353#false} assume 25 != main_~result~0#1; {1353#false} is VALID [2022-02-20 18:16:44,457 INFO L290 TraceCheckUtils]: 37: Hoare triple {1353#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {1353#false} is VALID [2022-02-20 18:16:44,461 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1607#(< 5 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:44,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {1418#(<= |id_#in~x| 5)} assume true; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:44,462 INFO L290 TraceCheckUtils]: 34: Hoare triple {1418#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:44,462 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1441#(<= |id_#in~x| 4)} {1620#(or (< 5 id_~x) (<= |id_#in~x| 5))} #27#return; {1418#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:44,462 INFO L290 TraceCheckUtils]: 32: Hoare triple {1441#(<= |id_#in~x| 4)} assume true; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:44,463 INFO L290 TraceCheckUtils]: 31: Hoare triple {1441#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:44,463 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1458#(<= |id_#in~x| 3)} {1633#(or (<= |id_#in~x| 4) (< 4 id_~x))} #27#return; {1441#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:44,464 INFO L290 TraceCheckUtils]: 29: Hoare triple {1458#(<= |id_#in~x| 3)} assume true; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:44,464 INFO L290 TraceCheckUtils]: 28: Hoare triple {1458#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:44,464 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1469#(<= |id_#in~x| 2)} {1646#(or (< 3 id_~x) (<= |id_#in~x| 3))} #27#return; {1458#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:44,465 INFO L290 TraceCheckUtils]: 26: Hoare triple {1469#(<= |id_#in~x| 2)} assume true; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:44,465 INFO L290 TraceCheckUtils]: 25: Hoare triple {1469#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:44,466 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1474#(<= |id_#in~x| 1)} {1659#(or (<= |id_#in~x| 2) (< 2 id_~x))} #27#return; {1469#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:44,466 INFO L290 TraceCheckUtils]: 23: Hoare triple {1474#(<= |id_#in~x| 1)} assume true; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:44,466 INFO L290 TraceCheckUtils]: 22: Hoare triple {1474#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:44,467 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1537#(<= |id_#in~x| 0)} {1672#(or (< 1 id_~x) (<= |id_#in~x| 1))} #27#return; {1474#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:44,467 INFO L290 TraceCheckUtils]: 20: Hoare triple {1537#(<= |id_#in~x| 0)} assume true; {1537#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:44,467 INFO L290 TraceCheckUtils]: 19: Hoare triple {1682#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} assume 0 == ~x;#res := 0; {1537#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:44,468 INFO L290 TraceCheckUtils]: 18: Hoare triple {1352#true} ~x := #in~x; {1682#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} is VALID [2022-02-20 18:16:44,468 INFO L272 TraceCheckUtils]: 17: Hoare triple {1672#(or (< 1 id_~x) (<= |id_#in~x| 1))} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:44,468 INFO L290 TraceCheckUtils]: 16: Hoare triple {1672#(or (< 1 id_~x) (<= |id_#in~x| 1))} assume !(0 == ~x); {1672#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:44,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1672#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:44,468 INFO L272 TraceCheckUtils]: 14: Hoare triple {1659#(or (<= |id_#in~x| 2) (< 2 id_~x))} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:44,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {1659#(or (<= |id_#in~x| 2) (< 2 id_~x))} assume !(0 == ~x); {1659#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:44,469 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1659#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:44,469 INFO L272 TraceCheckUtils]: 11: Hoare triple {1646#(or (< 3 id_~x) (<= |id_#in~x| 3))} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:44,469 INFO L290 TraceCheckUtils]: 10: Hoare triple {1646#(or (< 3 id_~x) (<= |id_#in~x| 3))} assume !(0 == ~x); {1646#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:16:44,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1646#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:16:44,469 INFO L272 TraceCheckUtils]: 8: Hoare triple {1633#(or (<= |id_#in~x| 4) (< 4 id_~x))} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:44,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {1633#(or (<= |id_#in~x| 4) (< 4 id_~x))} assume !(0 == ~x); {1633#(or (<= |id_#in~x| 4) (< 4 id_~x))} is VALID [2022-02-20 18:16:44,470 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1633#(or (<= |id_#in~x| 4) (< 4 id_~x))} is VALID [2022-02-20 18:16:44,470 INFO L272 TraceCheckUtils]: 5: Hoare triple {1620#(or (< 5 id_~x) (<= |id_#in~x| 5))} call #t~ret4 := id(~x - 1); {1352#true} is VALID [2022-02-20 18:16:44,471 INFO L290 TraceCheckUtils]: 4: Hoare triple {1620#(or (< 5 id_~x) (<= |id_#in~x| 5))} assume !(0 == ~x); {1620#(or (< 5 id_~x) (<= |id_#in~x| 5))} is VALID [2022-02-20 18:16:44,471 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1620#(or (< 5 id_~x) (<= |id_#in~x| 5))} is VALID [2022-02-20 18:16:44,471 INFO L272 TraceCheckUtils]: 2: Hoare triple {1607#(< 5 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {1352#true} is VALID [2022-02-20 18:16:44,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {1352#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {1607#(< 5 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:44,471 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#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(15, 2);call #Ultimate.allocInit(12, 3); {1352#true} is VALID [2022-02-20 18:16:44,472 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 65 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 18:16:44,472 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1553820646] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:44,472 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:44,472 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 15] total 19 [2022-02-20 18:16:44,472 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1890083266] [2022-02-20 18:16:44,472 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:44,473 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 19 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 7 states have return successors, (17), 6 states have call predecessors, (17), 9 states have call successors, (17) Word has length 40 [2022-02-20 18:16:45,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:45,107 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 19 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 7 states have return successors, (17), 6 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 18:16:45,152 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:16:45,152 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 18:16:45,152 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:45,153 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 18:16:45,153 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=245, Unknown=0, NotChecked=0, Total=342 [2022-02-20 18:16:45,153 INFO L87 Difference]: Start difference. First operand 27 states and 28 transitions. Second operand has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 19 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 7 states have return successors, (17), 6 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 18:16:45,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:45,342 INFO L93 Difference]: Finished difference Result 34 states and 35 transitions. [2022-02-20 18:16:45,342 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 18:16:45,343 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 19 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 7 states have return successors, (17), 6 states have call predecessors, (17), 9 states have call successors, (17) Word has length 40 [2022-02-20 18:16:45,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:45,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 19 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 7 states have return successors, (17), 6 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 18:16:45,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 35 transitions. [2022-02-20 18:16:45,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 19 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 7 states have return successors, (17), 6 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 18:16:45,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 35 transitions. [2022-02-20 18:16:45,345 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 35 transitions. [2022-02-20 18:16:45,378 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-20 18:16:45,379 INFO L225 Difference]: With dead ends: 34 [2022-02-20 18:16:45,379 INFO L226 Difference]: Without dead ends: 30 [2022-02-20 18:16:45,380 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 82 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=194, Invalid=406, Unknown=0, NotChecked=0, Total=600 [2022-02-20 18:16:45,380 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 35 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:16:45,380 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 64 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:16:45,381 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-02-20 18:16:45,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-02-20 18:16:45,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:45,384 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 20 states have (on average 1.05) internal successors, (21), 21 states have internal predecessors, (21), 2 states have call successors, (2), 1 states have call predecessors, (2), 7 states have return successors, (8), 7 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 18:16:45,384 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 20 states have (on average 1.05) internal successors, (21), 21 states have internal predecessors, (21), 2 states have call successors, (2), 1 states have call predecessors, (2), 7 states have return successors, (8), 7 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 18:16:45,384 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 20 states have (on average 1.05) internal successors, (21), 21 states have internal predecessors, (21), 2 states have call successors, (2), 1 states have call predecessors, (2), 7 states have return successors, (8), 7 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 18:16:45,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:45,385 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2022-02-20 18:16:45,385 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 18:16:45,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:45,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:45,386 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 20 states have (on average 1.05) internal successors, (21), 21 states have internal predecessors, (21), 2 states have call successors, (2), 1 states have call predecessors, (2), 7 states have return successors, (8), 7 states have call predecessors, (8), 2 states have call successors, (8) Second operand 30 states. [2022-02-20 18:16:45,386 INFO L87 Difference]: Start difference. First operand has 30 states, 20 states have (on average 1.05) internal successors, (21), 21 states have internal predecessors, (21), 2 states have call successors, (2), 1 states have call predecessors, (2), 7 states have return successors, (8), 7 states have call predecessors, (8), 2 states have call successors, (8) Second operand 30 states. [2022-02-20 18:16:45,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:45,387 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2022-02-20 18:16:45,387 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 18:16:45,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:45,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:45,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:45,388 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:45,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 20 states have (on average 1.05) internal successors, (21), 21 states have internal predecessors, (21), 2 states have call successors, (2), 1 states have call predecessors, (2), 7 states have return successors, (8), 7 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 18:16:45,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2022-02-20 18:16:45,389 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 40 [2022-02-20 18:16:45,389 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:45,389 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2022-02-20 18:16:45,390 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 2.1176470588235294) internal successors, (36), 19 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 7 states have return successors, (17), 6 states have call predecessors, (17), 9 states have call successors, (17) [2022-02-20 18:16:45,390 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 18:16:45,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 18:16:45,390 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:45,390 INFO L514 BasicCegarLoop]: trace histogram [7, 7, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:45,423 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 18:16:45,623 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:45,624 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:45,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:45,624 INFO L85 PathProgramCache]: Analyzing trace with hash -918712436, now seen corresponding path program 6 times [2022-02-20 18:16:45,625 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:45,625 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [188839601] [2022-02-20 18:16:45,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:45,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:45,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:45,645 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:45,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:45,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:45,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:45,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:45,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:45,717 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:45,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:45,741 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:45,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:45,756 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:45,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:45,775 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:45,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:45,786 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {1906#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {2027#(= |id_#in~x| 0)} assume true; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2027#(= |id_#in~x| 0)} {1906#(= |id_#in~x| id_~x)} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,788 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,788 INFO L272 TraceCheckUtils]: 2: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,788 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,789 INFO L290 TraceCheckUtils]: 4: Hoare triple {1906#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,789 INFO L290 TraceCheckUtils]: 5: Hoare triple {2027#(= |id_#in~x| 0)} assume true; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,789 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2027#(= |id_#in~x| 0)} {1906#(= |id_#in~x| id_~x)} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {2026#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,790 INFO L290 TraceCheckUtils]: 8: Hoare triple {2026#(<= |id_#in~x| 1)} assume true; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,791 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2026#(<= |id_#in~x| 1)} {1906#(= |id_#in~x| id_~x)} #27#return; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,791 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,792 INFO L272 TraceCheckUtils]: 2: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,792 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,792 INFO L290 TraceCheckUtils]: 4: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,792 INFO L272 TraceCheckUtils]: 5: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,792 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,793 INFO L290 TraceCheckUtils]: 7: Hoare triple {1906#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,793 INFO L290 TraceCheckUtils]: 8: Hoare triple {2027#(= |id_#in~x| 0)} assume true; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,794 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2027#(= |id_#in~x| 0)} {1906#(= |id_#in~x| id_~x)} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,794 INFO L290 TraceCheckUtils]: 10: Hoare triple {2026#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,794 INFO L290 TraceCheckUtils]: 11: Hoare triple {2026#(<= |id_#in~x| 1)} assume true; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,795 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2026#(<= |id_#in~x| 1)} {1906#(= |id_#in~x| id_~x)} #27#return; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,795 INFO L290 TraceCheckUtils]: 13: Hoare triple {2021#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {2021#(<= |id_#in~x| 2)} assume true; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,796 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2021#(<= |id_#in~x| 2)} {1906#(= |id_#in~x| id_~x)} #27#return; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,797 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,797 INFO L272 TraceCheckUtils]: 2: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,797 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,797 INFO L290 TraceCheckUtils]: 4: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,798 INFO L272 TraceCheckUtils]: 5: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,798 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,798 INFO L272 TraceCheckUtils]: 8: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,798 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,799 INFO L290 TraceCheckUtils]: 10: Hoare triple {1906#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,799 INFO L290 TraceCheckUtils]: 11: Hoare triple {2027#(= |id_#in~x| 0)} assume true; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,799 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2027#(= |id_#in~x| 0)} {1906#(= |id_#in~x| id_~x)} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,800 INFO L290 TraceCheckUtils]: 13: Hoare triple {2026#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,800 INFO L290 TraceCheckUtils]: 14: Hoare triple {2026#(<= |id_#in~x| 1)} assume true; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,800 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2026#(<= |id_#in~x| 1)} {1906#(= |id_#in~x| id_~x)} #27#return; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,801 INFO L290 TraceCheckUtils]: 16: Hoare triple {2021#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,801 INFO L290 TraceCheckUtils]: 17: Hoare triple {2021#(<= |id_#in~x| 2)} assume true; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,801 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2021#(<= |id_#in~x| 2)} {1906#(= |id_#in~x| id_~x)} #27#return; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,802 INFO L290 TraceCheckUtils]: 19: Hoare triple {2010#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {2010#(<= |id_#in~x| 3)} assume true; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,802 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2010#(<= |id_#in~x| 3)} {1906#(= |id_#in~x| id_~x)} #27#return; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,803 INFO L272 TraceCheckUtils]: 2: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,803 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,803 INFO L290 TraceCheckUtils]: 4: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,804 INFO L272 TraceCheckUtils]: 5: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,804 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,804 INFO L290 TraceCheckUtils]: 7: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,804 INFO L272 TraceCheckUtils]: 8: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,804 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,804 INFO L290 TraceCheckUtils]: 10: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,805 INFO L272 TraceCheckUtils]: 11: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,805 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,805 INFO L290 TraceCheckUtils]: 13: Hoare triple {1906#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,805 INFO L290 TraceCheckUtils]: 14: Hoare triple {2027#(= |id_#in~x| 0)} assume true; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,806 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2027#(= |id_#in~x| 0)} {1906#(= |id_#in~x| id_~x)} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {2026#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,806 INFO L290 TraceCheckUtils]: 17: Hoare triple {2026#(<= |id_#in~x| 1)} assume true; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,807 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2026#(<= |id_#in~x| 1)} {1906#(= |id_#in~x| id_~x)} #27#return; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,807 INFO L290 TraceCheckUtils]: 19: Hoare triple {2021#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,807 INFO L290 TraceCheckUtils]: 20: Hoare triple {2021#(<= |id_#in~x| 2)} assume true; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,808 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2021#(<= |id_#in~x| 2)} {1906#(= |id_#in~x| id_~x)} #27#return; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,808 INFO L290 TraceCheckUtils]: 22: Hoare triple {2010#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,808 INFO L290 TraceCheckUtils]: 23: Hoare triple {2010#(<= |id_#in~x| 3)} assume true; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,809 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2010#(<= |id_#in~x| 3)} {1906#(= |id_#in~x| id_~x)} #27#return; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,809 INFO L290 TraceCheckUtils]: 25: Hoare triple {1993#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,809 INFO L290 TraceCheckUtils]: 26: Hoare triple {1993#(<= |id_#in~x| 4)} assume true; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,810 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1993#(<= |id_#in~x| 4)} {1906#(= |id_#in~x| id_~x)} #27#return; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,810 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,810 INFO L272 TraceCheckUtils]: 2: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,811 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,811 INFO L290 TraceCheckUtils]: 4: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,811 INFO L272 TraceCheckUtils]: 5: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,812 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,812 INFO L290 TraceCheckUtils]: 7: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,812 INFO L272 TraceCheckUtils]: 8: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,812 INFO L290 TraceCheckUtils]: 10: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,812 INFO L272 TraceCheckUtils]: 11: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,813 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,813 INFO L290 TraceCheckUtils]: 13: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,813 INFO L272 TraceCheckUtils]: 14: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,813 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,813 INFO L290 TraceCheckUtils]: 16: Hoare triple {1906#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,814 INFO L290 TraceCheckUtils]: 17: Hoare triple {2027#(= |id_#in~x| 0)} assume true; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,814 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2027#(= |id_#in~x| 0)} {1906#(= |id_#in~x| id_~x)} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,814 INFO L290 TraceCheckUtils]: 19: Hoare triple {2026#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {2026#(<= |id_#in~x| 1)} assume true; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,815 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2026#(<= |id_#in~x| 1)} {1906#(= |id_#in~x| id_~x)} #27#return; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,815 INFO L290 TraceCheckUtils]: 22: Hoare triple {2021#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,816 INFO L290 TraceCheckUtils]: 23: Hoare triple {2021#(<= |id_#in~x| 2)} assume true; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,816 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2021#(<= |id_#in~x| 2)} {1906#(= |id_#in~x| id_~x)} #27#return; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,816 INFO L290 TraceCheckUtils]: 25: Hoare triple {2010#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,817 INFO L290 TraceCheckUtils]: 26: Hoare triple {2010#(<= |id_#in~x| 3)} assume true; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,817 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2010#(<= |id_#in~x| 3)} {1906#(= |id_#in~x| id_~x)} #27#return; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,817 INFO L290 TraceCheckUtils]: 28: Hoare triple {1993#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,818 INFO L290 TraceCheckUtils]: 29: Hoare triple {1993#(<= |id_#in~x| 4)} assume true; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,818 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1993#(<= |id_#in~x| 4)} {1906#(= |id_#in~x| id_~x)} #27#return; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,818 INFO L290 TraceCheckUtils]: 31: Hoare triple {1970#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,819 INFO L290 TraceCheckUtils]: 32: Hoare triple {1970#(<= |id_#in~x| 5)} assume true; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,819 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1970#(<= |id_#in~x| 5)} {1906#(= |id_#in~x| id_~x)} #27#return; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:45,819 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,820 INFO L272 TraceCheckUtils]: 2: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,820 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,820 INFO L290 TraceCheckUtils]: 4: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,820 INFO L272 TraceCheckUtils]: 5: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,820 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,821 INFO L272 TraceCheckUtils]: 8: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,821 INFO L290 TraceCheckUtils]: 10: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,821 INFO L272 TraceCheckUtils]: 11: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,821 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,822 INFO L290 TraceCheckUtils]: 13: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,822 INFO L272 TraceCheckUtils]: 14: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,822 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,822 INFO L290 TraceCheckUtils]: 16: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,822 INFO L272 TraceCheckUtils]: 17: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,822 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {1906#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {2027#(= |id_#in~x| 0)} assume true; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,823 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2027#(= |id_#in~x| 0)} {1906#(= |id_#in~x| id_~x)} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,824 INFO L290 TraceCheckUtils]: 22: Hoare triple {2026#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,824 INFO L290 TraceCheckUtils]: 23: Hoare triple {2026#(<= |id_#in~x| 1)} assume true; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,824 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2026#(<= |id_#in~x| 1)} {1906#(= |id_#in~x| id_~x)} #27#return; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,825 INFO L290 TraceCheckUtils]: 25: Hoare triple {2021#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,825 INFO L290 TraceCheckUtils]: 26: Hoare triple {2021#(<= |id_#in~x| 2)} assume true; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,825 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2021#(<= |id_#in~x| 2)} {1906#(= |id_#in~x| id_~x)} #27#return; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,826 INFO L290 TraceCheckUtils]: 28: Hoare triple {2010#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,826 INFO L290 TraceCheckUtils]: 29: Hoare triple {2010#(<= |id_#in~x| 3)} assume true; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,826 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2010#(<= |id_#in~x| 3)} {1906#(= |id_#in~x| id_~x)} #27#return; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,827 INFO L290 TraceCheckUtils]: 31: Hoare triple {1993#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,827 INFO L290 TraceCheckUtils]: 32: Hoare triple {1993#(<= |id_#in~x| 4)} assume true; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,827 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1993#(<= |id_#in~x| 4)} {1906#(= |id_#in~x| id_~x)} #27#return; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,827 INFO L290 TraceCheckUtils]: 34: Hoare triple {1970#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,828 INFO L290 TraceCheckUtils]: 35: Hoare triple {1970#(<= |id_#in~x| 5)} assume true; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,828 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1970#(<= |id_#in~x| 5)} {1906#(= |id_#in~x| id_~x)} #27#return; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:45,828 INFO L290 TraceCheckUtils]: 37: Hoare triple {1941#(<= |id_#in~x| 6)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:45,829 INFO L290 TraceCheckUtils]: 38: Hoare triple {1941#(<= |id_#in~x| 6)} assume true; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:45,829 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1941#(<= |id_#in~x| 6)} {1865#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:45,829 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#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(15, 2);call #Ultimate.allocInit(12, 3); {1863#true} is VALID [2022-02-20 18:16:45,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {1863#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {1865#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:45,830 INFO L272 TraceCheckUtils]: 2: Hoare triple {1865#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {1863#true} is VALID [2022-02-20 18:16:45,830 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,830 INFO L290 TraceCheckUtils]: 4: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,830 INFO L272 TraceCheckUtils]: 5: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,830 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,831 INFO L290 TraceCheckUtils]: 7: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,831 INFO L272 TraceCheckUtils]: 8: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,831 INFO L290 TraceCheckUtils]: 10: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,831 INFO L272 TraceCheckUtils]: 11: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,831 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,832 INFO L290 TraceCheckUtils]: 13: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,832 INFO L272 TraceCheckUtils]: 14: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,832 INFO L290 TraceCheckUtils]: 16: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,832 INFO L272 TraceCheckUtils]: 17: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,833 INFO L290 TraceCheckUtils]: 19: Hoare triple {1906#(= |id_#in~x| id_~x)} assume !(0 == ~x); {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,833 INFO L272 TraceCheckUtils]: 20: Hoare triple {1906#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:45,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:45,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {1906#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,833 INFO L290 TraceCheckUtils]: 23: Hoare triple {2027#(= |id_#in~x| 0)} assume true; {2027#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:45,834 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2027#(= |id_#in~x| 0)} {1906#(= |id_#in~x| id_~x)} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,834 INFO L290 TraceCheckUtils]: 25: Hoare triple {2026#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,834 INFO L290 TraceCheckUtils]: 26: Hoare triple {2026#(<= |id_#in~x| 1)} assume true; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:45,835 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2026#(<= |id_#in~x| 1)} {1906#(= |id_#in~x| id_~x)} #27#return; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,835 INFO L290 TraceCheckUtils]: 28: Hoare triple {2021#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,835 INFO L290 TraceCheckUtils]: 29: Hoare triple {2021#(<= |id_#in~x| 2)} assume true; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:45,836 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2021#(<= |id_#in~x| 2)} {1906#(= |id_#in~x| id_~x)} #27#return; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,836 INFO L290 TraceCheckUtils]: 31: Hoare triple {2010#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,836 INFO L290 TraceCheckUtils]: 32: Hoare triple {2010#(<= |id_#in~x| 3)} assume true; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:45,837 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2010#(<= |id_#in~x| 3)} {1906#(= |id_#in~x| id_~x)} #27#return; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,837 INFO L290 TraceCheckUtils]: 34: Hoare triple {1993#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,837 INFO L290 TraceCheckUtils]: 35: Hoare triple {1993#(<= |id_#in~x| 4)} assume true; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:45,838 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1993#(<= |id_#in~x| 4)} {1906#(= |id_#in~x| id_~x)} #27#return; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,838 INFO L290 TraceCheckUtils]: 37: Hoare triple {1970#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,838 INFO L290 TraceCheckUtils]: 38: Hoare triple {1970#(<= |id_#in~x| 5)} assume true; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:45,839 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1970#(<= |id_#in~x| 5)} {1906#(= |id_#in~x| id_~x)} #27#return; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:45,839 INFO L290 TraceCheckUtils]: 40: Hoare triple {1941#(<= |id_#in~x| 6)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:45,839 INFO L290 TraceCheckUtils]: 41: Hoare triple {1941#(<= |id_#in~x| 6)} assume true; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:45,840 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1941#(<= |id_#in~x| 6)} {1865#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:45,840 INFO L290 TraceCheckUtils]: 43: Hoare triple {1864#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {1864#false} is VALID [2022-02-20 18:16:45,840 INFO L290 TraceCheckUtils]: 44: Hoare triple {1864#false} assume 25 != main_~result~0#1; {1864#false} is VALID [2022-02-20 18:16:45,840 INFO L290 TraceCheckUtils]: 45: Hoare triple {1864#false} assume !false; {1864#false} is VALID [2022-02-20 18:16:45,840 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 0 proven. 57 refuted. 0 times theorem prover too weak. 57 trivial. 0 not checked. [2022-02-20 18:16:45,840 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:45,840 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [188839601] [2022-02-20 18:16:45,841 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [188839601] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:45,841 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [213268940] [2022-02-20 18:16:45,841 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-02-20 18:16:45,841 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:45,841 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:45,846 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:16:45,847 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 18:16:45,898 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-02-20 18:16:45,899 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:45,899 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 18:16:45,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:45,910 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:46,137 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#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(15, 2);call #Ultimate.allocInit(12, 3); {1863#true} is VALID [2022-02-20 18:16:46,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {1863#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {1865#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:46,137 INFO L272 TraceCheckUtils]: 2: Hoare triple {1865#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {1863#true} is VALID [2022-02-20 18:16:46,138 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,138 INFO L290 TraceCheckUtils]: 4: Hoare triple {2040#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,138 INFO L272 TraceCheckUtils]: 5: Hoare triple {2040#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:46,138 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {2040#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,139 INFO L272 TraceCheckUtils]: 8: Hoare triple {2040#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:46,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,139 INFO L290 TraceCheckUtils]: 10: Hoare triple {2040#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,139 INFO L272 TraceCheckUtils]: 11: Hoare triple {2040#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:46,140 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,140 INFO L290 TraceCheckUtils]: 13: Hoare triple {2040#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,140 INFO L272 TraceCheckUtils]: 14: Hoare triple {2040#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:46,140 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,140 INFO L290 TraceCheckUtils]: 16: Hoare triple {2040#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,141 INFO L272 TraceCheckUtils]: 17: Hoare triple {2040#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:46,141 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,141 INFO L290 TraceCheckUtils]: 19: Hoare triple {2040#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,141 INFO L272 TraceCheckUtils]: 20: Hoare triple {2040#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:46,142 INFO L290 TraceCheckUtils]: 21: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:46,142 INFO L290 TraceCheckUtils]: 22: Hoare triple {2040#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2098#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:46,142 INFO L290 TraceCheckUtils]: 23: Hoare triple {2098#(<= |id_#in~x| 0)} assume true; {2098#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:46,143 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2098#(<= |id_#in~x| 0)} {2040#(<= |id_#in~x| id_~x)} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:46,143 INFO L290 TraceCheckUtils]: 25: Hoare triple {2026#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:46,143 INFO L290 TraceCheckUtils]: 26: Hoare triple {2026#(<= |id_#in~x| 1)} assume true; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:46,144 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2026#(<= |id_#in~x| 1)} {2040#(<= |id_#in~x| id_~x)} #27#return; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:46,144 INFO L290 TraceCheckUtils]: 28: Hoare triple {2021#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:46,144 INFO L290 TraceCheckUtils]: 29: Hoare triple {2021#(<= |id_#in~x| 2)} assume true; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:46,145 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2021#(<= |id_#in~x| 2)} {2040#(<= |id_#in~x| id_~x)} #27#return; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:46,145 INFO L290 TraceCheckUtils]: 31: Hoare triple {2010#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:46,145 INFO L290 TraceCheckUtils]: 32: Hoare triple {2010#(<= |id_#in~x| 3)} assume true; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:46,146 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2010#(<= |id_#in~x| 3)} {2040#(<= |id_#in~x| id_~x)} #27#return; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:46,146 INFO L290 TraceCheckUtils]: 34: Hoare triple {1993#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:46,146 INFO L290 TraceCheckUtils]: 35: Hoare triple {1993#(<= |id_#in~x| 4)} assume true; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:46,147 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1993#(<= |id_#in~x| 4)} {2040#(<= |id_#in~x| id_~x)} #27#return; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:46,147 INFO L290 TraceCheckUtils]: 37: Hoare triple {1970#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:46,147 INFO L290 TraceCheckUtils]: 38: Hoare triple {1970#(<= |id_#in~x| 5)} assume true; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:46,148 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1970#(<= |id_#in~x| 5)} {2040#(<= |id_#in~x| id_~x)} #27#return; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:46,148 INFO L290 TraceCheckUtils]: 40: Hoare triple {1941#(<= |id_#in~x| 6)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:46,149 INFO L290 TraceCheckUtils]: 41: Hoare triple {1941#(<= |id_#in~x| 6)} assume true; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:46,149 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1941#(<= |id_#in~x| 6)} {1865#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:46,149 INFO L290 TraceCheckUtils]: 43: Hoare triple {1864#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {1864#false} is VALID [2022-02-20 18:16:46,149 INFO L290 TraceCheckUtils]: 44: Hoare triple {1864#false} assume 25 != main_~result~0#1; {1864#false} is VALID [2022-02-20 18:16:46,149 INFO L290 TraceCheckUtils]: 45: Hoare triple {1864#false} assume !false; {1864#false} is VALID [2022-02-20 18:16:46,150 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 0 proven. 57 refuted. 0 times theorem prover too weak. 57 trivial. 0 not checked. [2022-02-20 18:16:46,150 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:50,713 INFO L290 TraceCheckUtils]: 45: Hoare triple {1864#false} assume !false; {1864#false} is VALID [2022-02-20 18:16:50,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {1864#false} assume 25 != main_~result~0#1; {1864#false} is VALID [2022-02-20 18:16:50,714 INFO L290 TraceCheckUtils]: 43: Hoare triple {1864#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {1864#false} is VALID [2022-02-20 18:16:50,714 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1941#(<= |id_#in~x| 6)} {2177#(< 6 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:50,714 INFO L290 TraceCheckUtils]: 41: Hoare triple {1941#(<= |id_#in~x| 6)} assume true; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:50,715 INFO L290 TraceCheckUtils]: 40: Hoare triple {1941#(<= |id_#in~x| 6)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:50,715 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1970#(<= |id_#in~x| 5)} {2190#(or (< 6 id_~x) (<= |id_#in~x| 6))} #27#return; {1941#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:50,716 INFO L290 TraceCheckUtils]: 38: Hoare triple {1970#(<= |id_#in~x| 5)} assume true; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:50,716 INFO L290 TraceCheckUtils]: 37: Hoare triple {1970#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:50,716 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1993#(<= |id_#in~x| 4)} {2203#(or (< 5 id_~x) (<= |id_#in~x| 5))} #27#return; {1970#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:50,717 INFO L290 TraceCheckUtils]: 35: Hoare triple {1993#(<= |id_#in~x| 4)} assume true; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:50,717 INFO L290 TraceCheckUtils]: 34: Hoare triple {1993#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:50,717 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2010#(<= |id_#in~x| 3)} {2216#(or (<= |id_#in~x| 4) (< 4 id_~x))} #27#return; {1993#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:50,718 INFO L290 TraceCheckUtils]: 32: Hoare triple {2010#(<= |id_#in~x| 3)} assume true; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:50,718 INFO L290 TraceCheckUtils]: 31: Hoare triple {2010#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:50,719 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2021#(<= |id_#in~x| 2)} {2229#(or (< 3 id_~x) (<= |id_#in~x| 3))} #27#return; {2010#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:50,719 INFO L290 TraceCheckUtils]: 29: Hoare triple {2021#(<= |id_#in~x| 2)} assume true; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:50,719 INFO L290 TraceCheckUtils]: 28: Hoare triple {2021#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:50,720 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2026#(<= |id_#in~x| 1)} {2242#(or (<= |id_#in~x| 2) (< 2 id_~x))} #27#return; {2021#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:50,720 INFO L290 TraceCheckUtils]: 26: Hoare triple {2026#(<= |id_#in~x| 1)} assume true; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:50,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {2026#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:50,721 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2098#(<= |id_#in~x| 0)} {2255#(or (< 1 id_~x) (<= |id_#in~x| 1))} #27#return; {2026#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:50,721 INFO L290 TraceCheckUtils]: 23: Hoare triple {2098#(<= |id_#in~x| 0)} assume true; {2098#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:50,721 INFO L290 TraceCheckUtils]: 22: Hoare triple {2265#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} assume 0 == ~x;#res := 0; {2098#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:50,722 INFO L290 TraceCheckUtils]: 21: Hoare triple {1863#true} ~x := #in~x; {2265#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} is VALID [2022-02-20 18:16:50,722 INFO L272 TraceCheckUtils]: 20: Hoare triple {2255#(or (< 1 id_~x) (<= |id_#in~x| 1))} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:50,722 INFO L290 TraceCheckUtils]: 19: Hoare triple {2255#(or (< 1 id_~x) (<= |id_#in~x| 1))} assume !(0 == ~x); {2255#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:50,722 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {2255#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:16:50,723 INFO L272 TraceCheckUtils]: 17: Hoare triple {2242#(or (<= |id_#in~x| 2) (< 2 id_~x))} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:50,723 INFO L290 TraceCheckUtils]: 16: Hoare triple {2242#(or (<= |id_#in~x| 2) (< 2 id_~x))} assume !(0 == ~x); {2242#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:50,723 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {2242#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:16:50,723 INFO L272 TraceCheckUtils]: 14: Hoare triple {2229#(or (< 3 id_~x) (<= |id_#in~x| 3))} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:50,726 INFO L290 TraceCheckUtils]: 13: Hoare triple {2229#(or (< 3 id_~x) (<= |id_#in~x| 3))} assume !(0 == ~x); {2229#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:16:50,726 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {2229#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:16:50,726 INFO L272 TraceCheckUtils]: 11: Hoare triple {2216#(or (<= |id_#in~x| 4) (< 4 id_~x))} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:50,726 INFO L290 TraceCheckUtils]: 10: Hoare triple {2216#(or (<= |id_#in~x| 4) (< 4 id_~x))} assume !(0 == ~x); {2216#(or (<= |id_#in~x| 4) (< 4 id_~x))} is VALID [2022-02-20 18:16:50,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {2216#(or (<= |id_#in~x| 4) (< 4 id_~x))} is VALID [2022-02-20 18:16:50,727 INFO L272 TraceCheckUtils]: 8: Hoare triple {2203#(or (< 5 id_~x) (<= |id_#in~x| 5))} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:50,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {2203#(or (< 5 id_~x) (<= |id_#in~x| 5))} assume !(0 == ~x); {2203#(or (< 5 id_~x) (<= |id_#in~x| 5))} is VALID [2022-02-20 18:16:50,727 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {2203#(or (< 5 id_~x) (<= |id_#in~x| 5))} is VALID [2022-02-20 18:16:50,728 INFO L272 TraceCheckUtils]: 5: Hoare triple {2190#(or (< 6 id_~x) (<= |id_#in~x| 6))} call #t~ret4 := id(~x - 1); {1863#true} is VALID [2022-02-20 18:16:50,728 INFO L290 TraceCheckUtils]: 4: Hoare triple {2190#(or (< 6 id_~x) (<= |id_#in~x| 6))} assume !(0 == ~x); {2190#(or (< 6 id_~x) (<= |id_#in~x| 6))} is VALID [2022-02-20 18:16:50,728 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {2190#(or (< 6 id_~x) (<= |id_#in~x| 6))} is VALID [2022-02-20 18:16:50,728 INFO L272 TraceCheckUtils]: 2: Hoare triple {2177#(< 6 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {1863#true} is VALID [2022-02-20 18:16:50,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {1863#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {2177#(< 6 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:50,728 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#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(15, 2);call #Ultimate.allocInit(12, 3); {1863#true} is VALID [2022-02-20 18:16:50,729 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 0 proven. 93 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-02-20 18:16:50,729 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [213268940] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:50,729 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:50,729 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 17] total 21 [2022-02-20 18:16:50,729 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440748949] [2022-02-20 18:16:50,729 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:50,731 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 2.1052631578947367) internal successors, (40), 21 states have internal predecessors, (40), 10 states have call successors, (10), 1 states have call predecessors, (10), 8 states have return successors, (20), 7 states have call predecessors, (20), 10 states have call successors, (20) Word has length 46 [2022-02-20 18:17:03,651 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:17:03,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 2.1052631578947367) internal successors, (40), 21 states have internal predecessors, (40), 10 states have call successors, (10), 1 states have call predecessors, (10), 8 states have return successors, (20), 7 states have call predecessors, (20), 10 states have call successors, (20) [2022-02-20 18:17:03,698 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-20 18:17:03,698 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 18:17:03,699 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:17:03,699 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 18:17:03,702 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=118, Invalid=302, Unknown=0, NotChecked=0, Total=420 [2022-02-20 18:17:03,702 INFO L87 Difference]: Start difference. First operand 30 states and 31 transitions. Second operand has 21 states, 19 states have (on average 2.1052631578947367) internal successors, (40), 21 states have internal predecessors, (40), 10 states have call successors, (10), 1 states have call predecessors, (10), 8 states have return successors, (20), 7 states have call predecessors, (20), 10 states have call successors, (20) [2022-02-20 18:17:03,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:17:03,913 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2022-02-20 18:17:03,913 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 18:17:03,913 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 2.1052631578947367) internal successors, (40), 21 states have internal predecessors, (40), 10 states have call successors, (10), 1 states have call predecessors, (10), 8 states have return successors, (20), 7 states have call predecessors, (20), 10 states have call successors, (20) Word has length 46 [2022-02-20 18:17:03,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:17:03,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 2.1052631578947367) internal successors, (40), 21 states have internal predecessors, (40), 10 states have call successors, (10), 1 states have call predecessors, (10), 8 states have return successors, (20), 7 states have call predecessors, (20), 10 states have call successors, (20) [2022-02-20 18:17:03,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 38 transitions. [2022-02-20 18:17:03,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 2.1052631578947367) internal successors, (40), 21 states have internal predecessors, (40), 10 states have call successors, (10), 1 states have call predecessors, (10), 8 states have return successors, (20), 7 states have call predecessors, (20), 10 states have call successors, (20) [2022-02-20 18:17:03,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 38 transitions. [2022-02-20 18:17:03,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 38 transitions. [2022-02-20 18:17:03,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:17:03,946 INFO L225 Difference]: With dead ends: 37 [2022-02-20 18:17:03,946 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 18:17:03,947 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 161 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=245, Invalid=511, Unknown=0, NotChecked=0, Total=756 [2022-02-20 18:17:03,947 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 36 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:17:03,948 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 71 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:17:03,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 18:17:03,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-02-20 18:17:03,963 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:17:03,963 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 22 states have (on average 1.0454545454545454) internal successors, (23), 23 states have internal predecessors, (23), 2 states have call successors, (2), 1 states have call predecessors, (2), 8 states have return successors, (9), 8 states have call predecessors, (9), 2 states have call successors, (9) [2022-02-20 18:17:03,963 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 22 states have (on average 1.0454545454545454) internal successors, (23), 23 states have internal predecessors, (23), 2 states have call successors, (2), 1 states have call predecessors, (2), 8 states have return successors, (9), 8 states have call predecessors, (9), 2 states have call successors, (9) [2022-02-20 18:17:03,964 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 22 states have (on average 1.0454545454545454) internal successors, (23), 23 states have internal predecessors, (23), 2 states have call successors, (2), 1 states have call predecessors, (2), 8 states have return successors, (9), 8 states have call predecessors, (9), 2 states have call successors, (9) [2022-02-20 18:17:03,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:17:03,965 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2022-02-20 18:17:03,965 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 18:17:03,965 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:17:03,965 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:17:03,966 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 22 states have (on average 1.0454545454545454) internal successors, (23), 23 states have internal predecessors, (23), 2 states have call successors, (2), 1 states have call predecessors, (2), 8 states have return successors, (9), 8 states have call predecessors, (9), 2 states have call successors, (9) Second operand 33 states. [2022-02-20 18:17:03,966 INFO L87 Difference]: Start difference. First operand has 33 states, 22 states have (on average 1.0454545454545454) internal successors, (23), 23 states have internal predecessors, (23), 2 states have call successors, (2), 1 states have call predecessors, (2), 8 states have return successors, (9), 8 states have call predecessors, (9), 2 states have call successors, (9) Second operand 33 states. [2022-02-20 18:17:03,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:17:03,967 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2022-02-20 18:17:03,967 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 18:17:03,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:17:03,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:17:03,968 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:17:03,968 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:17:03,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 22 states have (on average 1.0454545454545454) internal successors, (23), 23 states have internal predecessors, (23), 2 states have call successors, (2), 1 states have call predecessors, (2), 8 states have return successors, (9), 8 states have call predecessors, (9), 2 states have call successors, (9) [2022-02-20 18:17:03,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 34 transitions. [2022-02-20 18:17:03,969 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 34 transitions. Word has length 46 [2022-02-20 18:17:03,969 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:17:03,969 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 34 transitions. [2022-02-20 18:17:03,970 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 2.1052631578947367) internal successors, (40), 21 states have internal predecessors, (40), 10 states have call successors, (10), 1 states have call predecessors, (10), 8 states have return successors, (20), 7 states have call predecessors, (20), 10 states have call successors, (20) [2022-02-20 18:17:03,970 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 18:17:03,970 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 18:17:03,970 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:17:03,970 INFO L514 BasicCegarLoop]: trace histogram [8, 8, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:17:03,989 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-20 18:17:04,187 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:17:04,188 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:17:04,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:17:04,188 INFO L85 PathProgramCache]: Analyzing trace with hash -626238314, now seen corresponding path program 7 times [2022-02-20 18:17:04,188 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:17:04,188 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1611235809] [2022-02-20 18:17:04,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:17:04,188 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:17:04,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,224 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,264 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,287 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,309 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,345 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,374 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,391 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,404 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {2515#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2677#(= |id_#in~x| 0)} {2515#(= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,406 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,406 INFO L272 TraceCheckUtils]: 2: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,407 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,407 INFO L290 TraceCheckUtils]: 4: Hoare triple {2515#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,407 INFO L290 TraceCheckUtils]: 5: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,408 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2677#(= |id_#in~x| 0)} {2515#(= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,409 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2515#(= |id_#in~x| id_~x)} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,409 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,410 INFO L272 TraceCheckUtils]: 2: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,410 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,410 INFO L290 TraceCheckUtils]: 4: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,411 INFO L272 TraceCheckUtils]: 5: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,411 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,411 INFO L290 TraceCheckUtils]: 7: Hoare triple {2515#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,411 INFO L290 TraceCheckUtils]: 8: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,412 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2677#(= |id_#in~x| 0)} {2515#(= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,412 INFO L290 TraceCheckUtils]: 10: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,413 INFO L290 TraceCheckUtils]: 11: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,413 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2515#(= |id_#in~x| id_~x)} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {2671#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,414 INFO L290 TraceCheckUtils]: 14: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,414 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2671#(<= |id_#in~x| 2)} {2515#(= |id_#in~x| id_~x)} #27#return; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,415 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,415 INFO L272 TraceCheckUtils]: 2: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,416 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,416 INFO L290 TraceCheckUtils]: 4: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,416 INFO L272 TraceCheckUtils]: 5: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,417 INFO L272 TraceCheckUtils]: 8: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,417 INFO L290 TraceCheckUtils]: 10: Hoare triple {2515#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,418 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2677#(= |id_#in~x| 0)} {2515#(= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,420 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2515#(= |id_#in~x| id_~x)} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,420 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,420 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,421 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2671#(<= |id_#in~x| 2)} {2515#(= |id_#in~x| id_~x)} #27#return; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,421 INFO L290 TraceCheckUtils]: 19: Hoare triple {2660#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,421 INFO L290 TraceCheckUtils]: 20: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,422 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2660#(<= |id_#in~x| 3)} {2515#(= |id_#in~x| id_~x)} #27#return; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,423 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,423 INFO L272 TraceCheckUtils]: 2: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,423 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,424 INFO L290 TraceCheckUtils]: 4: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,424 INFO L272 TraceCheckUtils]: 5: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,424 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,425 INFO L272 TraceCheckUtils]: 8: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,425 INFO L290 TraceCheckUtils]: 10: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,425 INFO L272 TraceCheckUtils]: 11: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,426 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {2515#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,427 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2677#(= |id_#in~x| 0)} {2515#(= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,427 INFO L290 TraceCheckUtils]: 16: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,428 INFO L290 TraceCheckUtils]: 17: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,428 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2515#(= |id_#in~x| id_~x)} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,429 INFO L290 TraceCheckUtils]: 19: Hoare triple {2671#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,430 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2671#(<= |id_#in~x| 2)} {2515#(= |id_#in~x| id_~x)} #27#return; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,430 INFO L290 TraceCheckUtils]: 22: Hoare triple {2660#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,430 INFO L290 TraceCheckUtils]: 23: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,431 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2660#(<= |id_#in~x| 3)} {2515#(= |id_#in~x| id_~x)} #27#return; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,431 INFO L290 TraceCheckUtils]: 25: Hoare triple {2643#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,431 INFO L290 TraceCheckUtils]: 26: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,432 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2643#(<= |id_#in~x| 4)} {2515#(= |id_#in~x| id_~x)} #27#return; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,432 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,433 INFO L272 TraceCheckUtils]: 2: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,433 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,434 INFO L290 TraceCheckUtils]: 4: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,434 INFO L272 TraceCheckUtils]: 5: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,434 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,435 INFO L290 TraceCheckUtils]: 7: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,435 INFO L272 TraceCheckUtils]: 8: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,435 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,436 INFO L290 TraceCheckUtils]: 10: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,436 INFO L272 TraceCheckUtils]: 11: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,436 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,436 INFO L290 TraceCheckUtils]: 13: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,436 INFO L272 TraceCheckUtils]: 14: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,437 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,437 INFO L290 TraceCheckUtils]: 16: Hoare triple {2515#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,437 INFO L290 TraceCheckUtils]: 17: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,438 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2677#(= |id_#in~x| 0)} {2515#(= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,438 INFO L290 TraceCheckUtils]: 19: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,439 INFO L290 TraceCheckUtils]: 20: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,439 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2515#(= |id_#in~x| id_~x)} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,440 INFO L290 TraceCheckUtils]: 22: Hoare triple {2671#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,440 INFO L290 TraceCheckUtils]: 23: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,440 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2671#(<= |id_#in~x| 2)} {2515#(= |id_#in~x| id_~x)} #27#return; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {2660#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,441 INFO L290 TraceCheckUtils]: 26: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,442 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2660#(<= |id_#in~x| 3)} {2515#(= |id_#in~x| id_~x)} #27#return; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,442 INFO L290 TraceCheckUtils]: 28: Hoare triple {2643#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,443 INFO L290 TraceCheckUtils]: 29: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,443 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2643#(<= |id_#in~x| 4)} {2515#(= |id_#in~x| id_~x)} #27#return; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,444 INFO L290 TraceCheckUtils]: 31: Hoare triple {2620#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,444 INFO L290 TraceCheckUtils]: 32: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,445 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2620#(<= |id_#in~x| 5)} {2515#(= |id_#in~x| id_~x)} #27#return; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,445 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,445 INFO L290 TraceCheckUtils]: 1: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,445 INFO L272 TraceCheckUtils]: 2: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,446 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,446 INFO L290 TraceCheckUtils]: 4: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,446 INFO L272 TraceCheckUtils]: 5: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,447 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,447 INFO L290 TraceCheckUtils]: 7: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,447 INFO L272 TraceCheckUtils]: 8: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,447 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,448 INFO L290 TraceCheckUtils]: 10: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,448 INFO L272 TraceCheckUtils]: 11: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,448 INFO L272 TraceCheckUtils]: 14: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,449 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,449 INFO L290 TraceCheckUtils]: 16: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,449 INFO L272 TraceCheckUtils]: 17: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,449 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,450 INFO L290 TraceCheckUtils]: 19: Hoare triple {2515#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,450 INFO L290 TraceCheckUtils]: 20: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,451 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2677#(= |id_#in~x| 0)} {2515#(= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,451 INFO L290 TraceCheckUtils]: 22: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,451 INFO L290 TraceCheckUtils]: 23: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,452 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2515#(= |id_#in~x| id_~x)} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,452 INFO L290 TraceCheckUtils]: 25: Hoare triple {2671#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,453 INFO L290 TraceCheckUtils]: 26: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,453 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2671#(<= |id_#in~x| 2)} {2515#(= |id_#in~x| id_~x)} #27#return; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,453 INFO L290 TraceCheckUtils]: 28: Hoare triple {2660#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,454 INFO L290 TraceCheckUtils]: 29: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,454 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2660#(<= |id_#in~x| 3)} {2515#(= |id_#in~x| id_~x)} #27#return; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,455 INFO L290 TraceCheckUtils]: 31: Hoare triple {2643#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,455 INFO L290 TraceCheckUtils]: 32: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,456 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2643#(<= |id_#in~x| 4)} {2515#(= |id_#in~x| id_~x)} #27#return; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,456 INFO L290 TraceCheckUtils]: 34: Hoare triple {2620#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,456 INFO L290 TraceCheckUtils]: 35: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,457 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2620#(<= |id_#in~x| 5)} {2515#(= |id_#in~x| id_~x)} #27#return; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,457 INFO L290 TraceCheckUtils]: 37: Hoare triple {2591#(<= |id_#in~x| 6)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,457 INFO L290 TraceCheckUtils]: 38: Hoare triple {2591#(<= |id_#in~x| 6)} assume true; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,458 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2591#(<= |id_#in~x| 6)} {2515#(= |id_#in~x| id_~x)} #27#return; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,459 INFO L272 TraceCheckUtils]: 2: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,459 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,459 INFO L290 TraceCheckUtils]: 4: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,460 INFO L272 TraceCheckUtils]: 5: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,460 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,460 INFO L272 TraceCheckUtils]: 8: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,461 INFO L290 TraceCheckUtils]: 10: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,461 INFO L272 TraceCheckUtils]: 11: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,461 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,461 INFO L290 TraceCheckUtils]: 13: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,462 INFO L272 TraceCheckUtils]: 14: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,462 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,462 INFO L290 TraceCheckUtils]: 16: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,462 INFO L272 TraceCheckUtils]: 17: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,463 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,463 INFO L290 TraceCheckUtils]: 19: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,463 INFO L272 TraceCheckUtils]: 20: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,463 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,464 INFO L290 TraceCheckUtils]: 22: Hoare triple {2515#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,464 INFO L290 TraceCheckUtils]: 23: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,465 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2677#(= |id_#in~x| 0)} {2515#(= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,465 INFO L290 TraceCheckUtils]: 25: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,465 INFO L290 TraceCheckUtils]: 26: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,470 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2515#(= |id_#in~x| id_~x)} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,471 INFO L290 TraceCheckUtils]: 28: Hoare triple {2671#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,471 INFO L290 TraceCheckUtils]: 29: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,472 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2671#(<= |id_#in~x| 2)} {2515#(= |id_#in~x| id_~x)} #27#return; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,472 INFO L290 TraceCheckUtils]: 31: Hoare triple {2660#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,473 INFO L290 TraceCheckUtils]: 32: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,474 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2660#(<= |id_#in~x| 3)} {2515#(= |id_#in~x| id_~x)} #27#return; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,474 INFO L290 TraceCheckUtils]: 34: Hoare triple {2643#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,474 INFO L290 TraceCheckUtils]: 35: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,475 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2643#(<= |id_#in~x| 4)} {2515#(= |id_#in~x| id_~x)} #27#return; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,475 INFO L290 TraceCheckUtils]: 37: Hoare triple {2620#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,475 INFO L290 TraceCheckUtils]: 38: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,476 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2620#(<= |id_#in~x| 5)} {2515#(= |id_#in~x| id_~x)} #27#return; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,476 INFO L290 TraceCheckUtils]: 40: Hoare triple {2591#(<= |id_#in~x| 6)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,477 INFO L290 TraceCheckUtils]: 41: Hoare triple {2591#(<= |id_#in~x| 6)} assume true; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,477 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2591#(<= |id_#in~x| 6)} {2515#(= |id_#in~x| id_~x)} #27#return; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,477 INFO L290 TraceCheckUtils]: 43: Hoare triple {2556#(<= |id_#in~x| 7)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,478 INFO L290 TraceCheckUtils]: 44: Hoare triple {2556#(<= |id_#in~x| 7)} assume true; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,478 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2468#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:17:04,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#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(15, 2);call #Ultimate.allocInit(12, 3); {2466#true} is VALID [2022-02-20 18:17:04,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {2466#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {2468#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:17:04,479 INFO L272 TraceCheckUtils]: 2: Hoare triple {2468#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {2466#true} is VALID [2022-02-20 18:17:04,479 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,480 INFO L290 TraceCheckUtils]: 4: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,480 INFO L272 TraceCheckUtils]: 5: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,480 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,480 INFO L272 TraceCheckUtils]: 8: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,481 INFO L290 TraceCheckUtils]: 10: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,481 INFO L272 TraceCheckUtils]: 11: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,481 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,482 INFO L290 TraceCheckUtils]: 13: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,482 INFO L272 TraceCheckUtils]: 14: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,483 INFO L272 TraceCheckUtils]: 17: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,483 INFO L290 TraceCheckUtils]: 19: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,483 INFO L272 TraceCheckUtils]: 20: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,484 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,484 INFO L290 TraceCheckUtils]: 22: Hoare triple {2515#(= |id_#in~x| id_~x)} assume !(0 == ~x); {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,484 INFO L272 TraceCheckUtils]: 23: Hoare triple {2515#(= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,484 INFO L290 TraceCheckUtils]: 24: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,485 INFO L290 TraceCheckUtils]: 25: Hoare triple {2515#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,485 INFO L290 TraceCheckUtils]: 26: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,486 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2677#(= |id_#in~x| 0)} {2515#(= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,486 INFO L290 TraceCheckUtils]: 28: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,486 INFO L290 TraceCheckUtils]: 29: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,487 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2515#(= |id_#in~x| id_~x)} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,487 INFO L290 TraceCheckUtils]: 31: Hoare triple {2671#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,487 INFO L290 TraceCheckUtils]: 32: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,488 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2671#(<= |id_#in~x| 2)} {2515#(= |id_#in~x| id_~x)} #27#return; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,488 INFO L290 TraceCheckUtils]: 34: Hoare triple {2660#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,489 INFO L290 TraceCheckUtils]: 35: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,489 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2660#(<= |id_#in~x| 3)} {2515#(= |id_#in~x| id_~x)} #27#return; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,489 INFO L290 TraceCheckUtils]: 37: Hoare triple {2643#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,490 INFO L290 TraceCheckUtils]: 38: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,490 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2643#(<= |id_#in~x| 4)} {2515#(= |id_#in~x| id_~x)} #27#return; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,491 INFO L290 TraceCheckUtils]: 40: Hoare triple {2620#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,491 INFO L290 TraceCheckUtils]: 41: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,491 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2620#(<= |id_#in~x| 5)} {2515#(= |id_#in~x| id_~x)} #27#return; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,492 INFO L290 TraceCheckUtils]: 43: Hoare triple {2591#(<= |id_#in~x| 6)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,492 INFO L290 TraceCheckUtils]: 44: Hoare triple {2591#(<= |id_#in~x| 6)} assume true; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,493 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2591#(<= |id_#in~x| 6)} {2515#(= |id_#in~x| id_~x)} #27#return; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,493 INFO L290 TraceCheckUtils]: 46: Hoare triple {2556#(<= |id_#in~x| 7)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,493 INFO L290 TraceCheckUtils]: 47: Hoare triple {2556#(<= |id_#in~x| 7)} assume true; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,494 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2468#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:17:04,494 INFO L290 TraceCheckUtils]: 49: Hoare triple {2467#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {2467#false} is VALID [2022-02-20 18:17:04,494 INFO L290 TraceCheckUtils]: 50: Hoare triple {2467#false} assume 25 != main_~result~0#1; {2467#false} is VALID [2022-02-20 18:17:04,494 INFO L290 TraceCheckUtils]: 51: Hoare triple {2467#false} assume !false; {2467#false} is VALID [2022-02-20 18:17:04,494 INFO L134 CoverageAnalysis]: Checked inductivity of 154 backedges. 0 proven. 77 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-02-20 18:17:04,495 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:17:04,495 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1611235809] [2022-02-20 18:17:04,495 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1611235809] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:17:04,495 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [274872471] [2022-02-20 18:17:04,495 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-02-20 18:17:04,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:17:04,495 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:17:04,496 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-20 18:17:04,498 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-20 18:17:04,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,573 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 18:17:04,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:17:04,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#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(15, 2);call #Ultimate.allocInit(12, 3); {2466#true} is VALID [2022-02-20 18:17:04,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {2466#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {2468#(<= 25 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:17:04,854 INFO L272 TraceCheckUtils]: 2: Hoare triple {2468#(<= 25 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {2466#true} is VALID [2022-02-20 18:17:04,854 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,855 INFO L290 TraceCheckUtils]: 4: Hoare triple {2690#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,855 INFO L272 TraceCheckUtils]: 5: Hoare triple {2690#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,855 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,855 INFO L290 TraceCheckUtils]: 7: Hoare triple {2690#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,856 INFO L272 TraceCheckUtils]: 8: Hoare triple {2690#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,860 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,861 INFO L290 TraceCheckUtils]: 10: Hoare triple {2690#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,861 INFO L272 TraceCheckUtils]: 11: Hoare triple {2690#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,861 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,861 INFO L290 TraceCheckUtils]: 13: Hoare triple {2690#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,862 INFO L272 TraceCheckUtils]: 14: Hoare triple {2690#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,862 INFO L290 TraceCheckUtils]: 16: Hoare triple {2690#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,862 INFO L272 TraceCheckUtils]: 17: Hoare triple {2690#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,862 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,863 INFO L290 TraceCheckUtils]: 19: Hoare triple {2690#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,863 INFO L272 TraceCheckUtils]: 20: Hoare triple {2690#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,863 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,863 INFO L290 TraceCheckUtils]: 22: Hoare triple {2690#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,863 INFO L272 TraceCheckUtils]: 23: Hoare triple {2690#(<= |id_#in~x| id_~x)} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:04,864 INFO L290 TraceCheckUtils]: 24: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:04,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {2690#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {2757#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,864 INFO L290 TraceCheckUtils]: 26: Hoare triple {2757#(<= |id_#in~x| 0)} assume true; {2757#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:17:04,865 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2757#(<= |id_#in~x| 0)} {2690#(<= |id_#in~x| id_~x)} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,865 INFO L290 TraceCheckUtils]: 28: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,866 INFO L290 TraceCheckUtils]: 29: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:04,866 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2690#(<= |id_#in~x| id_~x)} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,867 INFO L290 TraceCheckUtils]: 31: Hoare triple {2671#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,867 INFO L290 TraceCheckUtils]: 32: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:04,868 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2671#(<= |id_#in~x| 2)} {2690#(<= |id_#in~x| id_~x)} #27#return; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,868 INFO L290 TraceCheckUtils]: 34: Hoare triple {2660#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,868 INFO L290 TraceCheckUtils]: 35: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:04,869 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2660#(<= |id_#in~x| 3)} {2690#(<= |id_#in~x| id_~x)} #27#return; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,869 INFO L290 TraceCheckUtils]: 37: Hoare triple {2643#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,869 INFO L290 TraceCheckUtils]: 38: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:04,870 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2643#(<= |id_#in~x| 4)} {2690#(<= |id_#in~x| id_~x)} #27#return; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,870 INFO L290 TraceCheckUtils]: 40: Hoare triple {2620#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,870 INFO L290 TraceCheckUtils]: 41: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:04,871 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2620#(<= |id_#in~x| 5)} {2690#(<= |id_#in~x| id_~x)} #27#return; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,871 INFO L290 TraceCheckUtils]: 43: Hoare triple {2591#(<= |id_#in~x| 6)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,872 INFO L290 TraceCheckUtils]: 44: Hoare triple {2591#(<= |id_#in~x| 6)} assume true; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:04,872 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2591#(<= |id_#in~x| 6)} {2690#(<= |id_#in~x| id_~x)} #27#return; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,873 INFO L290 TraceCheckUtils]: 46: Hoare triple {2556#(<= |id_#in~x| 7)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,873 INFO L290 TraceCheckUtils]: 47: Hoare triple {2556#(<= |id_#in~x| 7)} assume true; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:04,873 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2468#(<= 25 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:17:04,874 INFO L290 TraceCheckUtils]: 49: Hoare triple {2467#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {2467#false} is VALID [2022-02-20 18:17:04,874 INFO L290 TraceCheckUtils]: 50: Hoare triple {2467#false} assume 25 != main_~result~0#1; {2467#false} is VALID [2022-02-20 18:17:04,874 INFO L290 TraceCheckUtils]: 51: Hoare triple {2467#false} assume !false; {2467#false} is VALID [2022-02-20 18:17:04,874 INFO L134 CoverageAnalysis]: Checked inductivity of 154 backedges. 0 proven. 77 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-02-20 18:17:04,874 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:17:11,529 INFO L290 TraceCheckUtils]: 51: Hoare triple {2467#false} assume !false; {2467#false} is VALID [2022-02-20 18:17:11,530 INFO L290 TraceCheckUtils]: 50: Hoare triple {2467#false} assume 25 != main_~result~0#1; {2467#false} is VALID [2022-02-20 18:17:11,530 INFO L290 TraceCheckUtils]: 49: Hoare triple {2467#false} assume -2147483648 <= main_#t~ret5#1 && main_#t~ret5#1 <= 2147483647;main_~result~0#1 := main_#t~ret5#1;havoc main_#t~ret5#1; {2467#false} is VALID [2022-02-20 18:17:11,530 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2845#(< 7 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:17:11,531 INFO L290 TraceCheckUtils]: 47: Hoare triple {2556#(<= |id_#in~x| 7)} assume true; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:11,531 INFO L290 TraceCheckUtils]: 46: Hoare triple {2556#(<= |id_#in~x| 7)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:11,532 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2591#(<= |id_#in~x| 6)} {2858#(or (< 7 id_~x) (<= |id_#in~x| 7))} #27#return; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:17:11,532 INFO L290 TraceCheckUtils]: 44: Hoare triple {2591#(<= |id_#in~x| 6)} assume true; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:11,532 INFO L290 TraceCheckUtils]: 43: Hoare triple {2591#(<= |id_#in~x| 6)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:11,533 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2620#(<= |id_#in~x| 5)} {2871#(or (< 6 id_~x) (<= |id_#in~x| 6))} #27#return; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:17:11,533 INFO L290 TraceCheckUtils]: 41: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:11,533 INFO L290 TraceCheckUtils]: 40: Hoare triple {2620#(<= |id_#in~x| 5)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:11,534 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2643#(<= |id_#in~x| 4)} {2884#(or (< 5 id_~x) (<= |id_#in~x| 5))} #27#return; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:17:11,534 INFO L290 TraceCheckUtils]: 38: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:11,534 INFO L290 TraceCheckUtils]: 37: Hoare triple {2643#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:11,535 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2660#(<= |id_#in~x| 3)} {2897#(or (<= |id_#in~x| 4) (< 4 id_~x))} #27#return; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:17:11,535 INFO L290 TraceCheckUtils]: 35: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:11,535 INFO L290 TraceCheckUtils]: 34: Hoare triple {2660#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:11,536 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2671#(<= |id_#in~x| 2)} {2910#(or (< 3 id_~x) (<= |id_#in~x| 3))} #27#return; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:17:11,551 INFO L290 TraceCheckUtils]: 32: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:11,552 INFO L290 TraceCheckUtils]: 31: Hoare triple {2671#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:11,552 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2676#(<= |id_#in~x| 1)} {2923#(or (<= |id_#in~x| 2) (< 2 id_~x))} #27#return; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:17:11,553 INFO L290 TraceCheckUtils]: 29: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:11,553 INFO L290 TraceCheckUtils]: 28: Hoare triple {2676#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;#res := 1 + #t~ret4;havoc #t~ret4; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:11,554 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2757#(<= |id_#in~x| 0)} {2936#(or (< 1 id_~x) (<= |id_#in~x| 1))} #27#return; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:17:11,554 INFO L290 TraceCheckUtils]: 26: Hoare triple {2757#(<= |id_#in~x| 0)} assume true; {2757#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:17:11,554 INFO L290 TraceCheckUtils]: 25: Hoare triple {2946#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} assume 0 == ~x;#res := 0; {2757#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:17:11,555 INFO L290 TraceCheckUtils]: 24: Hoare triple {2466#true} ~x := #in~x; {2946#(or (not (<= id_~x 0)) (<= |id_#in~x| 0))} is VALID [2022-02-20 18:17:11,555 INFO L272 TraceCheckUtils]: 23: Hoare triple {2936#(or (< 1 id_~x) (<= |id_#in~x| 1))} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:11,555 INFO L290 TraceCheckUtils]: 22: Hoare triple {2936#(or (< 1 id_~x) (<= |id_#in~x| 1))} assume !(0 == ~x); {2936#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:17:11,555 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2936#(or (< 1 id_~x) (<= |id_#in~x| 1))} is VALID [2022-02-20 18:17:11,555 INFO L272 TraceCheckUtils]: 20: Hoare triple {2923#(or (<= |id_#in~x| 2) (< 2 id_~x))} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:11,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {2923#(or (<= |id_#in~x| 2) (< 2 id_~x))} assume !(0 == ~x); {2923#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:17:11,556 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2923#(or (<= |id_#in~x| 2) (< 2 id_~x))} is VALID [2022-02-20 18:17:11,556 INFO L272 TraceCheckUtils]: 17: Hoare triple {2910#(or (< 3 id_~x) (<= |id_#in~x| 3))} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:11,556 INFO L290 TraceCheckUtils]: 16: Hoare triple {2910#(or (< 3 id_~x) (<= |id_#in~x| 3))} assume !(0 == ~x); {2910#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:17:11,557 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2910#(or (< 3 id_~x) (<= |id_#in~x| 3))} is VALID [2022-02-20 18:17:11,557 INFO L272 TraceCheckUtils]: 14: Hoare triple {2897#(or (<= |id_#in~x| 4) (< 4 id_~x))} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:11,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {2897#(or (<= |id_#in~x| 4) (< 4 id_~x))} assume !(0 == ~x); {2897#(or (<= |id_#in~x| 4) (< 4 id_~x))} is VALID [2022-02-20 18:17:11,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2897#(or (<= |id_#in~x| 4) (< 4 id_~x))} is VALID [2022-02-20 18:17:11,557 INFO L272 TraceCheckUtils]: 11: Hoare triple {2884#(or (< 5 id_~x) (<= |id_#in~x| 5))} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:11,558 INFO L290 TraceCheckUtils]: 10: Hoare triple {2884#(or (< 5 id_~x) (<= |id_#in~x| 5))} assume !(0 == ~x); {2884#(or (< 5 id_~x) (<= |id_#in~x| 5))} is VALID [2022-02-20 18:17:11,558 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2884#(or (< 5 id_~x) (<= |id_#in~x| 5))} is VALID [2022-02-20 18:17:11,558 INFO L272 TraceCheckUtils]: 8: Hoare triple {2871#(or (< 6 id_~x) (<= |id_#in~x| 6))} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:11,558 INFO L290 TraceCheckUtils]: 7: Hoare triple {2871#(or (< 6 id_~x) (<= |id_#in~x| 6))} assume !(0 == ~x); {2871#(or (< 6 id_~x) (<= |id_#in~x| 6))} is VALID [2022-02-20 18:17:11,558 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2871#(or (< 6 id_~x) (<= |id_#in~x| 6))} is VALID [2022-02-20 18:17:11,559 INFO L272 TraceCheckUtils]: 5: Hoare triple {2858#(or (< 7 id_~x) (<= |id_#in~x| 7))} call #t~ret4 := id(~x - 1); {2466#true} is VALID [2022-02-20 18:17:11,559 INFO L290 TraceCheckUtils]: 4: Hoare triple {2858#(or (< 7 id_~x) (<= |id_#in~x| 7))} assume !(0 == ~x); {2858#(or (< 7 id_~x) (<= |id_#in~x| 7))} is VALID [2022-02-20 18:17:11,559 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2858#(or (< 7 id_~x) (<= |id_#in~x| 7))} is VALID [2022-02-20 18:17:11,559 INFO L272 TraceCheckUtils]: 2: Hoare triple {2845#(< 7 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {2466#true} is VALID [2022-02-20 18:17:11,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {2466#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret5#1, main_~input~0#1, main_~result~0#1;main_~input~0#1 := 25; {2845#(< 7 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:17:11,560 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#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(15, 2);call #Ultimate.allocInit(12, 3); {2466#true} is VALID [2022-02-20 18:17:11,560 INFO L134 CoverageAnalysis]: Checked inductivity of 154 backedges. 0 proven. 126 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-20 18:17:11,560 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [274872471] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:17:11,560 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:17:11,560 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12, 19] total 23 [2022-02-20 18:17:11,560 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [323552953] [2022-02-20 18:17:11,560 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:17:11,561 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 23 states have internal predecessors, (44), 11 states have call successors, (11), 1 states have call predecessors, (11), 9 states have return successors, (23), 8 states have call predecessors, (23), 11 states have call successors, (23) Word has length 52