./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/recursive-simple/id_i20_o20-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_i20_o20-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 c3376ee309c42e8280cfc81381fd928e4a895fffc424cbfa81d01112976a2d85 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 18:16:25,478 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 18:16:25,480 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 18:16:25,532 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 18:16:25,533 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 18:16:25,537 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 18:16:25,539 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 18:16:25,542 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 18:16:25,544 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 18:16:25,550 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 18:16:25,551 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 18:16:25,552 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 18:16:25,552 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 18:16:25,555 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 18:16:25,556 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 18:16:25,560 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 18:16:25,561 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 18:16:25,562 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 18:16:25,564 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 18:16:25,568 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 18:16:25,570 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 18:16:25,571 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 18:16:25,573 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 18:16:25,573 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 18:16:25,577 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 18:16:25,577 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 18:16:25,578 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 18:16:25,579 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 18:16:25,579 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 18:16:25,580 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 18:16:25,580 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 18:16:25,581 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 18:16:25,583 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 18:16:25,584 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 18:16:25,585 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 18:16:25,585 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 18:16:25,585 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 18:16:25,586 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 18:16:25,586 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 18:16:25,587 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 18:16:25,587 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 18:16:25,589 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:25,620 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 18:16:25,621 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 18:16:25,621 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 18:16:25,621 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 18:16:25,622 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 18:16:25,622 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 18:16:25,623 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 18:16:25,623 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 18:16:25,623 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 18:16:25,624 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 18:16:25,624 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 18:16:25,625 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 18:16:25,625 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 18:16:25,625 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 18:16:25,625 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 18:16:25,626 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 18:16:25,626 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 18:16:25,626 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 18:16:25,626 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 18:16:25,626 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 18:16:25,627 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 18:16:25,627 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 18:16:25,627 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 18:16:25,627 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 18:16:25,627 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:16:25,628 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 18:16:25,628 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 18:16:25,629 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 18:16:25,629 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 18:16:25,630 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 18:16:25,630 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 18:16:25,630 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 18:16:25,630 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 18:16:25,630 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 -> c3376ee309c42e8280cfc81381fd928e4a895fffc424cbfa81d01112976a2d85 [2022-02-20 18:16:25,849 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 18:16:25,893 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 18:16:25,895 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 18:16:25,896 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 18:16:25,897 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 18:16:25,898 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive-simple/id_i20_o20-1.c [2022-02-20 18:16:25,968 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/37c64ce84/539a0b3573044263a08ff9d7d21f0136/FLAG988d6ca9f [2022-02-20 18:16:26,374 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 18:16:26,374 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/id_i20_o20-1.c [2022-02-20 18:16:26,383 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/37c64ce84/539a0b3573044263a08ff9d7d21f0136/FLAG988d6ca9f [2022-02-20 18:16:26,395 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/37c64ce84/539a0b3573044263a08ff9d7d21f0136 [2022-02-20 18:16:26,397 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 18:16:26,399 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 18:16:26,401 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 18:16:26,401 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 18:16:26,403 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 18:16:26,404 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:16:26" (1/1) ... [2022-02-20 18:16:26,405 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@40dfc2ac and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:26, skipping insertion in model container [2022-02-20 18:16:26,405 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:16:26" (1/1) ... [2022-02-20 18:16:26,413 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 18:16:26,422 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 18:16:26,592 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_i20_o20-1.c[454,467] [2022-02-20 18:16:26,595 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:16:26,609 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 18:16:26,620 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_i20_o20-1.c[454,467] [2022-02-20 18:16:26,621 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:16:26,633 INFO L208 MainTranslator]: Completed translation [2022-02-20 18:16:26,634 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:26 WrapperNode [2022-02-20 18:16:26,634 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 18:16:26,636 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 18:16:26,636 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 18:16:26,636 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 18:16:26,644 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:26" (1/1) ... [2022-02-20 18:16:26,650 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:26" (1/1) ... [2022-02-20 18:16:26,671 INFO L137 Inliner]: procedures = 13, calls = 9, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 19 [2022-02-20 18:16:26,671 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 18:16:26,673 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 18:16:26,673 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 18:16:26,673 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 18:16:26,680 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:26" (1/1) ... [2022-02-20 18:16:26,680 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:26" (1/1) ... [2022-02-20 18:16:26,682 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:26" (1/1) ... [2022-02-20 18:16:26,683 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:26" (1/1) ... [2022-02-20 18:16:26,687 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:26" (1/1) ... [2022-02-20 18:16:26,690 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:26" (1/1) ... [2022-02-20 18:16:26,694 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:26" (1/1) ... [2022-02-20 18:16:26,697 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 18:16:26,698 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 18:16:26,698 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 18:16:26,699 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 18:16:26,700 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:26" (1/1) ... [2022-02-20 18:16:26,706 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:16:26,715 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:26,737 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:26,759 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:26,780 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 18:16:26,780 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 18:16:26,780 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 18:16:26,780 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 18:16:26,781 INFO L130 BoogieDeclarations]: Found specification of procedure id [2022-02-20 18:16:26,781 INFO L138 BoogieDeclarations]: Found implementation of procedure id [2022-02-20 18:16:26,826 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 18:16:26,827 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 18:16:26,908 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 18:16:26,914 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 18:16:26,914 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 18:16:26,916 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:16:26 BoogieIcfgContainer [2022-02-20 18:16:26,916 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 18:16:26,918 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 18:16:26,918 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 18:16:26,921 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 18:16:26,922 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 06:16:26" (1/3) ... [2022-02-20 18:16:26,922 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1f156413 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:16:26, skipping insertion in model container [2022-02-20 18:16:26,923 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:26" (2/3) ... [2022-02-20 18:16:26,923 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1f156413 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:16:26, skipping insertion in model container [2022-02-20 18:16:26,923 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:16:26" (3/3) ... [2022-02-20 18:16:26,924 INFO L111 eAbstractionObserver]: Analyzing ICFG id_i20_o20-1.c [2022-02-20 18:16:26,930 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 18:16:26,930 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 18:16:26,995 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 18:16:27,002 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:27,002 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 18:16:27,019 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:27,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 18:16:27,024 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:27,024 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:27,025 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:27,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:27,030 INFO L85 PathProgramCache]: Analyzing trace with hash -358017204, now seen corresponding path program 1 times [2022-02-20 18:16:27,038 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:27,039 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1902047159] [2022-02-20 18:16:27,039 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:27,040 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:27,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,254 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:27,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,321 INFO L290 TraceCheckUtils]: 0: Hoare triple {19#true} ~x := #in~x; {26#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:27,323 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:27,324 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:27,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27#(= |id_#in~x| 0)} {21#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {20#false} is VALID [2022-02-20 18:16:27,328 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:27,329 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 := 20; {21#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:27,330 INFO L272 TraceCheckUtils]: 2: Hoare triple {21#(<= 20 |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:27,330 INFO L290 TraceCheckUtils]: 3: Hoare triple {19#true} ~x := #in~x; {26#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:27,332 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:27,332 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:27,336 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {27#(= |id_#in~x| 0)} {21#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {20#false} is VALID [2022-02-20 18:16:27,336 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:27,336 INFO L290 TraceCheckUtils]: 8: Hoare triple {20#false} assume 20 != main_~result~0#1; {20#false} is VALID [2022-02-20 18:16:27,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {20#false} assume !false; {20#false} is VALID [2022-02-20 18:16:27,338 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:27,338 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:27,339 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1902047159] [2022-02-20 18:16:27,340 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1902047159] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:16:27,341 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:16:27,341 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 18:16:27,343 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1076907073] [2022-02-20 18:16:27,344 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:16:27,349 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:27,350 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:27,353 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:27,373 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:27,374 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 18:16:27,375 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:27,400 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 18:16:27,402 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:16:27,404 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:27,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:27,572 INFO L93 Difference]: Finished difference Result 25 states and 28 transitions. [2022-02-20 18:16:27,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:16:27,572 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:27,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:27,575 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:27,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 28 transitions. [2022-02-20 18:16:27,586 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:27,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 28 transitions. [2022-02-20 18:16:27,592 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 28 transitions. [2022-02-20 18:16:27,632 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:27,639 INFO L225 Difference]: With dead ends: 25 [2022-02-20 18:16:27,640 INFO L226 Difference]: Without dead ends: 15 [2022-02-20 18:16:27,642 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:27,646 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:27,647 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:27,661 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 15 states. [2022-02-20 18:16:27,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 15 to 15. [2022-02-20 18:16:27,673 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:27,674 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:27,675 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:27,675 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:27,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:27,678 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2022-02-20 18:16:27,678 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2022-02-20 18:16:27,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:27,679 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:27,679 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:27,680 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:27,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:27,682 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2022-02-20 18:16:27,682 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2022-02-20 18:16:27,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:27,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:27,683 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:27,683 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:27,683 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:27,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 16 transitions. [2022-02-20 18:16:27,686 INFO L78 Accepts]: Start accepts. Automaton has 15 states and 16 transitions. Word has length 10 [2022-02-20 18:16:27,686 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:27,686 INFO L470 AbstractCegarLoop]: Abstraction has 15 states and 16 transitions. [2022-02-20 18:16:27,687 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:27,687 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2022-02-20 18:16:27,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 18:16:27,688 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:27,688 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:27,688 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 18:16:27,688 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:27,689 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:27,689 INFO L85 PathProgramCache]: Analyzing trace with hash 679465686, now seen corresponding path program 1 times [2022-02-20 18:16:27,690 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:27,690 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342573017] [2022-02-20 18:16:27,690 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:27,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:27,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,729 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:27,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,762 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:27,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,781 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:27,782 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:27,783 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:27,784 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:27,785 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:27,785 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:27,786 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:27,786 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:27,787 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:27,787 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:27,788 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:27,789 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:27,790 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:27,791 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {126#(<= |id_#in~x| 1)} {110#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:27,791 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:27,792 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 := 20; {110#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:27,792 INFO L272 TraceCheckUtils]: 2: Hoare triple {110#(<= 20 |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:27,792 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:27,793 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:27,793 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:27,794 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:27,794 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:27,795 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:27,796 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:27,797 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:27,797 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:27,798 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {126#(<= |id_#in~x| 1)} {110#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:27,799 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:27,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {109#false} assume 20 != main_~result~0#1; {109#false} is VALID [2022-02-20 18:16:27,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {109#false} assume !false; {109#false} is VALID [2022-02-20 18:16:27,800 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:27,800 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:27,800 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1342573017] [2022-02-20 18:16:27,800 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1342573017] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:27,801 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [775891291] [2022-02-20 18:16:27,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:27,801 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:27,801 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:27,807 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:27,812 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:27,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,853 INFO L263 TraceCheckSpWp]: Trace formula consists of 60 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:16:27,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:28,029 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:28,030 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 := 20; {110#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:28,030 INFO L272 TraceCheckUtils]: 2: Hoare triple {110#(<= 20 |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:28,031 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {140#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,031 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:28,031 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:28,032 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} ~x := #in~x; {140#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,032 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:28,033 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:28,034 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:28,035 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:28,035 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:28,036 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {126#(<= |id_#in~x| 1)} {110#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:28,036 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:28,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {109#false} assume 20 != main_~result~0#1; {109#false} is VALID [2022-02-20 18:16:28,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {109#false} assume !false; {109#false} is VALID [2022-02-20 18:16:28,037 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:28,037 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:28,586 INFO L290 TraceCheckUtils]: 15: Hoare triple {109#false} assume !false; {109#false} is VALID [2022-02-20 18:16:28,587 INFO L290 TraceCheckUtils]: 14: Hoare triple {109#false} assume 20 != main_~result~0#1; {109#false} is VALID [2022-02-20 18:16:28,587 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:28,588 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:28,589 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:28,589 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:28,590 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:28,591 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:28,592 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:28,592 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:28,592 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:28,593 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:28,594 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:28,594 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:28,595 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 := 20; {187#(< 1 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:28,595 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:28,595 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:28,596 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [775891291] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:28,599 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:28,599 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 7] total 11 [2022-02-20 18:16:28,600 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2046640361] [2022-02-20 18:16:28,600 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:28,602 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:28,604 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:28,604 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:28,634 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:28,639 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 18:16:28,639 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:28,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 18:16:28,641 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2022-02-20 18:16:28,641 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:28,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:28,764 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2022-02-20 18:16:28,764 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 18:16:28,764 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:28,764 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:28,765 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:28,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 23 transitions. [2022-02-20 18:16:28,767 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:28,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 23 transitions. [2022-02-20 18:16:28,769 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 23 transitions. [2022-02-20 18:16:28,790 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:28,791 INFO L225 Difference]: With dead ends: 22 [2022-02-20 18:16:28,791 INFO L226 Difference]: Without dead ends: 18 [2022-02-20 18:16:28,792 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:28,793 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:28,793 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:28,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18 states. [2022-02-20 18:16:28,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18 to 18. [2022-02-20 18:16:28,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:28,798 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:28,798 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:28,798 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:28,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:28,800 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2022-02-20 18:16:28,801 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2022-02-20 18:16:28,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:28,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:28,801 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:28,802 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:28,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:28,804 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2022-02-20 18:16:28,804 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2022-02-20 18:16:28,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:28,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:28,804 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:28,805 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:28,805 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:28,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 19 transitions. [2022-02-20 18:16:28,806 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 19 transitions. Word has length 16 [2022-02-20 18:16:28,807 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:28,807 INFO L470 AbstractCegarLoop]: Abstraction has 18 states and 19 transitions. [2022-02-20 18:16:28,807 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:28,807 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2022-02-20 18:16:28,808 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 18:16:28,808 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:28,808 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:28,838 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:29,023 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:29,024 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:29,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:29,024 INFO L85 PathProgramCache]: Analyzing trace with hash -41010676, now seen corresponding path program 2 times [2022-02-20 18:16:29,024 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:29,024 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [293905914] [2022-02-20 18:16:29,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:29,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:29,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:29,077 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:29,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:29,126 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:29,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:29,148 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:29,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:29,164 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,165 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:29,165 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:29,166 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:29,166 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,167 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:29,167 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:29,168 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,168 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:29,168 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:29,169 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:29,170 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:29,170 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:29,171 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:29,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,172 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:29,172 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:29,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,173 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:29,174 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:29,174 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,174 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:29,175 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:29,176 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:29,176 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:29,177 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:29,177 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:29,178 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:29,178 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:29,179 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {341#(<= |id_#in~x| 2)} {313#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:29,179 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:29,180 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 := 20; {313#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:29,180 INFO L272 TraceCheckUtils]: 2: Hoare triple {313#(<= 20 |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:29,181 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,181 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:29,181 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:29,182 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,182 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:29,182 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:29,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,183 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:29,184 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:29,185 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:29,185 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:29,185 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:29,186 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:29,187 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:29,187 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:29,188 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {341#(<= |id_#in~x| 2)} {313#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:29,188 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:29,188 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume 20 != main_~result~0#1; {312#false} is VALID [2022-02-20 18:16:29,189 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-02-20 18:16:29,189 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:29,189 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:29,189 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [293905914] [2022-02-20 18:16:29,189 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [293905914] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:29,190 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [187388454] [2022-02-20 18:16:29,190 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 18:16:29,190 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:29,190 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:29,191 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:29,207 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:29,241 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 18:16:29,241 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:29,242 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:16:29,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:29,251 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:29,425 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:29,425 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 := 20; {313#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:29,426 INFO L272 TraceCheckUtils]: 2: Hoare triple {313#(<= 20 |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:29,426 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,426 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:29,427 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:29,427 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,427 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:29,428 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:29,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {311#true} ~x := #in~x; {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:29,429 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:29,429 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:29,430 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:29,430 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:29,431 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:29,432 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:29,432 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:29,432 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:29,433 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {341#(<= |id_#in~x| 2)} {313#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:29,433 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:29,433 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume 20 != main_~result~0#1; {312#false} is VALID [2022-02-20 18:16:29,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-02-20 18:16:29,434 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:29,434 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:30,424 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-02-20 18:16:30,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume 20 != main_~result~0#1; {312#false} is VALID [2022-02-20 18:16:30,425 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:30,426 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:30,426 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:30,433 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:30,434 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:30,435 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:30,435 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:30,436 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:30,436 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:30,437 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:30,437 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:30,437 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:30,438 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:30,438 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:30,438 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:30,439 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:30,439 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:30,439 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:30,440 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 := 20; {425#(< 2 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:30,440 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:30,440 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:30,441 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [187388454] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:30,441 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:30,441 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 9] total 13 [2022-02-20 18:16:30,441 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1426352811] [2022-02-20 18:16:30,442 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:30,445 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:30,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:30,451 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:30,482 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:30,483 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 18:16:30,483 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:30,483 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 18:16:30,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2022-02-20 18:16:30,484 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:30,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:30,641 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2022-02-20 18:16:30,641 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 18:16:30,641 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:30,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:30,642 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:30,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 26 transitions. [2022-02-20 18:16:30,644 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:30,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 26 transitions. [2022-02-20 18:16:30,646 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 26 transitions. [2022-02-20 18:16:30,666 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:30,668 INFO L225 Difference]: With dead ends: 25 [2022-02-20 18:16:30,668 INFO L226 Difference]: Without dead ends: 21 [2022-02-20 18:16:30,668 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:30,669 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:30,670 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:30,670 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-02-20 18:16:30,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2022-02-20 18:16:30,674 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:30,674 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:30,674 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:30,675 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:30,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:30,676 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2022-02-20 18:16:30,677 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2022-02-20 18:16:30,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:30,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:30,677 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:30,678 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:30,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:30,679 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2022-02-20 18:16:30,679 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2022-02-20 18:16:30,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:30,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:30,680 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:30,680 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:30,681 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:30,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 22 transitions. [2022-02-20 18:16:30,682 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 22 transitions. Word has length 22 [2022-02-20 18:16:30,682 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:30,682 INFO L470 AbstractCegarLoop]: Abstraction has 21 states and 22 transitions. [2022-02-20 18:16:30,683 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:30,683 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2022-02-20 18:16:30,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 18:16:30,684 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:30,684 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:30,720 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:30,912 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:30,912 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:30,913 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:30,913 INFO L85 PathProgramCache]: Analyzing trace with hash 1769866774, now seen corresponding path program 3 times [2022-02-20 18:16:30,913 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:30,913 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1059413076] [2022-02-20 18:16:30,914 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:30,914 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:30,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:30,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:30,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:30,987 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:30,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,012 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:31,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,032 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:31,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,047 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,048 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:31,048 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:31,049 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:31,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,050 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:31,050 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:31,050 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,051 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:31,051 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:31,052 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:31,052 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:31,053 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:31,054 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:31,054 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,055 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:31,055 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:31,055 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,056 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:31,056 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:31,056 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,057 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:31,057 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:31,058 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:31,058 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:31,058 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:31,059 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:31,060 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:31,060 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:31,061 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:31,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,062 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:31,062 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:31,063 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,063 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:31,063 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:31,064 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,064 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:31,064 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:31,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,065 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:31,065 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:31,066 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:31,066 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:31,067 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:31,068 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:31,068 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:31,068 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:31,069 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:31,070 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:31,070 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:31,071 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {624#(<= |id_#in~x| 3)} {584#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:31,071 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:31,072 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 := 20; {584#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:31,072 INFO L272 TraceCheckUtils]: 2: Hoare triple {584#(<= 20 |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:31,072 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,073 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:31,073 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:31,073 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,074 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:31,074 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:31,074 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,074 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:31,075 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:31,075 INFO L290 TraceCheckUtils]: 12: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,075 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:31,076 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:31,077 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:31,082 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:31,083 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:31,084 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:31,084 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:31,085 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:31,085 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:31,086 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:31,086 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:31,087 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {624#(<= |id_#in~x| 3)} {584#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:31,087 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:31,087 INFO L290 TraceCheckUtils]: 26: Hoare triple {583#false} assume 20 != main_~result~0#1; {583#false} is VALID [2022-02-20 18:16:31,088 INFO L290 TraceCheckUtils]: 27: Hoare triple {583#false} assume !false; {583#false} is VALID [2022-02-20 18:16:31,088 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:31,088 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:31,088 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1059413076] [2022-02-20 18:16:31,088 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1059413076] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:31,089 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [944305119] [2022-02-20 18:16:31,089 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 18:16:31,089 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:31,089 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:31,090 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:31,125 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:31,144 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 18:16:31,144 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:31,145 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 18:16:31,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,158 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:31,343 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:31,344 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 := 20; {584#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:31,344 INFO L272 TraceCheckUtils]: 2: Hoare triple {584#(<= 20 |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:31,347 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,348 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:31,348 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:31,349 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,349 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:31,349 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:31,350 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,350 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:31,350 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:31,351 INFO L290 TraceCheckUtils]: 12: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,351 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:31,351 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:31,352 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:31,353 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:31,353 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:31,354 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:31,354 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:31,355 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:31,356 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:31,356 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:31,356 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:31,357 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {624#(<= |id_#in~x| 3)} {584#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:31,357 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:31,357 INFO L290 TraceCheckUtils]: 26: Hoare triple {583#false} assume 20 != main_~result~0#1; {583#false} is VALID [2022-02-20 18:16:31,358 INFO L290 TraceCheckUtils]: 27: Hoare triple {583#false} assume !false; {583#false} is VALID [2022-02-20 18:16:31,358 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:31,358 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:33,048 INFO L290 TraceCheckUtils]: 27: Hoare triple {583#false} assume !false; {583#false} is VALID [2022-02-20 18:16:33,049 INFO L290 TraceCheckUtils]: 26: Hoare triple {583#false} assume 20 != main_~result~0#1; {583#false} is VALID [2022-02-20 18:16:33,049 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:33,050 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:33,050 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:33,051 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:33,051 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:33,052 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:33,052 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:33,053 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:33,053 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:33,053 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:33,054 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:33,054 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:33,055 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:33,055 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:33,055 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:33,056 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:33,057 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:33,058 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:33,058 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:33,058 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:33,059 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:33,059 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:33,060 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:33,060 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:33,061 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 := 20; {737#(< 3 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:33,061 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:33,061 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:33,061 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [944305119] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:33,062 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:33,062 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 11] total 15 [2022-02-20 18:16:33,062 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [39736942] [2022-02-20 18:16:33,062 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:33,063 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:33,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:33,072 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:33,111 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:33,111 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 18:16:33,111 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:33,111 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 18:16:33,112 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=149, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:16:33,112 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:33,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:33,273 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2022-02-20 18:16:33,274 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:16:33,274 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:33,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:33,275 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:33,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2022-02-20 18:16:33,276 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:33,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2022-02-20 18:16:33,278 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 29 transitions. [2022-02-20 18:16:33,302 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:33,303 INFO L225 Difference]: With dead ends: 28 [2022-02-20 18:16:33,304 INFO L226 Difference]: Without dead ends: 24 [2022-02-20 18:16:33,304 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:33,305 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:33,305 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:33,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-02-20 18:16:33,310 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2022-02-20 18:16:33,310 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:33,310 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:33,310 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:33,311 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:33,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:33,313 INFO L93 Difference]: Finished difference Result 24 states and 25 transitions. [2022-02-20 18:16:33,313 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2022-02-20 18:16:33,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:33,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:33,314 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:33,314 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:33,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:33,316 INFO L93 Difference]: Finished difference Result 24 states and 25 transitions. [2022-02-20 18:16:33,316 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2022-02-20 18:16:33,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:33,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:33,317 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:33,317 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:33,317 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:33,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2022-02-20 18:16:33,318 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 25 transitions. Word has length 28 [2022-02-20 18:16:33,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:33,319 INFO L470 AbstractCegarLoop]: Abstraction has 24 states and 25 transitions. [2022-02-20 18:16:33,319 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:33,319 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2022-02-20 18:16:33,320 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 18:16:33,320 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:33,320 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:33,339 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:33,531 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:33,532 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:33,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:33,532 INFO L85 PathProgramCache]: Analyzing trace with hash 371264716, now seen corresponding path program 4 times [2022-02-20 18:16:33,532 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:33,532 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1577212245] [2022-02-20 18:16:33,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:33,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:33,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:33,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,600 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:33,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,624 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:33,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:33,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,661 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:33,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,687 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,687 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:33,688 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:33,688 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:33,689 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,689 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:33,689 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:33,690 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,691 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:33,691 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:33,692 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:33,692 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:33,693 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:33,693 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:33,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,694 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:33,695 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:33,696 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,697 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:33,697 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:33,697 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,698 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:33,698 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:33,699 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:33,699 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:33,700 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:33,700 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:33,701 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:33,701 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:33,702 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:33,703 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,703 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:33,703 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:33,704 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,704 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:33,704 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:33,705 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,705 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:33,705 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:33,705 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,706 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:33,706 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:33,707 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:33,707 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:33,708 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:33,708 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:33,709 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:33,710 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:33,710 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:33,711 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:33,711 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:33,712 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:33,713 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,714 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:33,714 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:33,714 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,715 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:33,715 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:33,715 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,716 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:33,716 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:33,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,717 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:33,719 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:33,721 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,721 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:33,721 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:33,722 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:33,723 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:33,724 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:33,726 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:33,727 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:33,727 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:33,728 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:33,728 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:33,728 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:33,729 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:33,730 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:33,730 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:33,731 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {981#(<= |id_#in~x| 4)} {929#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:33,731 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:33,732 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 := 20; {929#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:33,732 INFO L272 TraceCheckUtils]: 2: Hoare triple {929#(<= 20 |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:33,732 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,733 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:33,733 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:33,733 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,733 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:33,734 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:33,734 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,734 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:33,734 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:33,735 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,735 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:33,735 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:33,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:33,736 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:33,736 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:33,737 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:33,737 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:33,738 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:33,739 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:33,739 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:33,739 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:33,740 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:33,740 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:33,741 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:33,742 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:33,742 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:33,742 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:33,743 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {981#(<= |id_#in~x| 4)} {929#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:33,743 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:33,743 INFO L290 TraceCheckUtils]: 32: Hoare triple {928#false} assume 20 != main_~result~0#1; {928#false} is VALID [2022-02-20 18:16:33,743 INFO L290 TraceCheckUtils]: 33: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-02-20 18:16:33,744 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:33,744 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:33,744 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1577212245] [2022-02-20 18:16:33,744 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1577212245] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:33,744 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1117274914] [2022-02-20 18:16:33,744 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 18:16:33,745 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:33,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:33,748 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:33,756 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:33,796 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 18:16:33,796 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:33,797 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 18:16:33,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:33,809 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:34,060 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:34,083 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 := 20; {929#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:34,083 INFO L272 TraceCheckUtils]: 2: Hoare triple {929#(<= 20 |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:34,084 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,084 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:34,084 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:34,085 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,085 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:34,085 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:34,085 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,086 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:34,086 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:34,086 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,087 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:34,087 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:34,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:34,089 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:34,089 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:34,090 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:34,091 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:34,091 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:34,092 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:34,092 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:34,093 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:34,093 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:34,094 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:34,094 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:34,095 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:34,095 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:34,095 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:34,096 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {981#(<= |id_#in~x| 4)} {929#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:34,096 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:34,096 INFO L290 TraceCheckUtils]: 32: Hoare triple {928#false} assume 20 != main_~result~0#1; {928#false} is VALID [2022-02-20 18:16:34,096 INFO L290 TraceCheckUtils]: 33: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-02-20 18:16:34,096 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:34,096 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:36,488 INFO L290 TraceCheckUtils]: 33: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-02-20 18:16:36,488 INFO L290 TraceCheckUtils]: 32: Hoare triple {928#false} assume 20 != main_~result~0#1; {928#false} is VALID [2022-02-20 18:16:36,489 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:36,489 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:36,499 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:36,508 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:36,510 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:36,511 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:36,511 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:36,512 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:36,515 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:36,516 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:36,516 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:36,517 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:36,518 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:36,518 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:36,519 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:36,519 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:36,519 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:36,519 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:36,520 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:36,520 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:36,520 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:36,520 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:36,521 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:36,521 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:36,521 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:36,522 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:36,522 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:36,522 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:36,522 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:36,522 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:36,523 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 := 20; {1129#(< 4 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:36,523 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:36,523 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:36,523 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1117274914] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:36,523 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:36,523 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 13] total 17 [2022-02-20 18:16:36,523 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [611371478] [2022-02-20 18:16:36,524 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:36,524 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:36,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:36,583 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:36,629 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:36,629 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 18:16:36,629 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:36,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 18:16:36,631 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=194, Unknown=0, NotChecked=0, Total=272 [2022-02-20 18:16:36,631 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:36,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:36,803 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2022-02-20 18:16:36,803 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 18:16:36,804 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:36,804 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:36,805 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:36,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 32 transitions. [2022-02-20 18:16:36,807 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:36,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 32 transitions. [2022-02-20 18:16:36,808 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 32 transitions. [2022-02-20 18:16:36,839 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:36,841 INFO L225 Difference]: With dead ends: 31 [2022-02-20 18:16:36,841 INFO L226 Difference]: Without dead ends: 27 [2022-02-20 18:16:36,841 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:36,842 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:36,842 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:36,843 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-02-20 18:16:36,847 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-02-20 18:16:36,847 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:36,847 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:36,848 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:36,848 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:36,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:36,850 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2022-02-20 18:16:36,850 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2022-02-20 18:16:36,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:36,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:36,851 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:36,851 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:36,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:36,853 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2022-02-20 18:16:36,853 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2022-02-20 18:16:36,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:36,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:36,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:36,854 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:36,854 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:36,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 28 transitions. [2022-02-20 18:16:36,856 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 28 transitions. Word has length 34 [2022-02-20 18:16:36,856 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:36,856 INFO L470 AbstractCegarLoop]: Abstraction has 27 states and 28 transitions. [2022-02-20 18:16:36,856 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:36,856 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2022-02-20 18:16:36,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 18:16:36,858 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:36,858 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:36,876 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 18:16:37,067 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:37,068 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:37,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:37,068 INFO L85 PathProgramCache]: Analyzing trace with hash -886339242, now seen corresponding path program 5 times [2022-02-20 18:16:37,068 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:37,068 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1410774091] [2022-02-20 18:16:37,068 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:37,069 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:37,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,107 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,160 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,181 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,215 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:37,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,229 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:37,229 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:37,230 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:37,231 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,231 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:37,231 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:37,231 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,232 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:37,234 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:37,235 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:37,235 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:37,235 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:37,236 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:37,237 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,237 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:37,237 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:37,238 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,238 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:37,238 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:37,238 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,239 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:37,239 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:37,240 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:37,240 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:37,240 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:37,241 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:37,242 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:37,242 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:37,243 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:37,243 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,244 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:37,244 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:37,244 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,244 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:37,245 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:37,245 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,245 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:37,246 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:37,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,246 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:37,247 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:37,247 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:37,248 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:37,248 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:37,249 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:37,249 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:37,249 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:37,251 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:37,252 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:37,252 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:37,253 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:37,253 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,253 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:37,254 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:37,254 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,254 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:37,254 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:37,255 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,255 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:37,255 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:37,256 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,256 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:37,256 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:37,257 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,257 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:37,257 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:37,258 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:37,258 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:37,259 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:37,260 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:37,260 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:37,260 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:37,261 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:37,261 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:37,262 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:37,262 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:37,263 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:37,263 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:37,264 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:37,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,265 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:37,265 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:37,266 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,266 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:37,266 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:37,266 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,267 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:37,267 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:37,267 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,268 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:37,268 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:37,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,269 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:37,269 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:37,269 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,269 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:37,270 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:37,271 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:37,271 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:37,271 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:37,272 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:37,272 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:37,273 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:37,274 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:37,274 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:37,274 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:37,275 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:37,275 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:37,276 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:37,276 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:37,277 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:37,277 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:37,278 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1354#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:37,278 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:37,279 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 := 20; {1354#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:37,279 INFO L272 TraceCheckUtils]: 2: Hoare triple {1354#(<= 20 |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:37,279 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,279 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:37,280 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:37,280 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,280 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:37,280 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:37,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,281 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:37,281 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:37,282 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,282 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:37,282 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:37,282 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,283 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:37,283 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:37,283 INFO L290 TraceCheckUtils]: 18: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,284 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:37,284 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:37,285 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:37,285 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:37,285 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:37,286 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:37,286 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:37,287 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:37,288 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:37,288 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:37,288 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:37,289 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:37,289 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:37,290 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:37,290 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:37,291 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:37,291 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:37,292 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1354#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:37,292 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:37,292 INFO L290 TraceCheckUtils]: 38: Hoare triple {1353#false} assume 20 != main_~result~0#1; {1353#false} is VALID [2022-02-20 18:16:37,292 INFO L290 TraceCheckUtils]: 39: Hoare triple {1353#false} assume !false; {1353#false} is VALID [2022-02-20 18:16:37,292 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:37,293 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:37,293 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1410774091] [2022-02-20 18:16:37,293 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1410774091] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:37,293 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1328853487] [2022-02-20 18:16:37,293 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-02-20 18:16:37,294 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:37,294 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:37,295 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:37,301 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:37,372 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2022-02-20 18:16:37,372 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:37,373 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 18:16:37,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:37,385 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:37,658 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:37,659 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 := 20; {1354#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:37,659 INFO L272 TraceCheckUtils]: 2: Hoare triple {1354#(<= 20 |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:37,659 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,660 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:37,660 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:37,660 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,660 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:37,661 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:37,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,661 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:37,662 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:37,662 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,662 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:37,663 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:37,663 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,663 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:37,663 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:37,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:37,664 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:37,665 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:37,666 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:37,666 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:37,666 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:37,667 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:37,668 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:37,668 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:37,669 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:37,669 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:37,670 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:37,671 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:37,671 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:37,671 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:37,672 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:37,673 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:37,673 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:37,674 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1354#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:37,674 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:37,674 INFO L290 TraceCheckUtils]: 38: Hoare triple {1353#false} assume 20 != main_~result~0#1; {1353#false} is VALID [2022-02-20 18:16:37,674 INFO L290 TraceCheckUtils]: 39: Hoare triple {1353#false} assume !false; {1353#false} is VALID [2022-02-20 18:16:37,674 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:37,675 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:41,323 INFO L290 TraceCheckUtils]: 39: Hoare triple {1353#false} assume !false; {1353#false} is VALID [2022-02-20 18:16:41,323 INFO L290 TraceCheckUtils]: 38: Hoare triple {1353#false} assume 20 != main_~result~0#1; {1353#false} is VALID [2022-02-20 18:16:41,323 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,324 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:41,324 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,325 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,326 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:41,326 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,326 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,327 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:41,327 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,327 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,328 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:41,328 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,329 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,329 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:41,330 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,330 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,331 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:41,331 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,331 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:41,332 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:41,332 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:41,332 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:41,332 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:41,332 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:41,333 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:41,333 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:41,333 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:41,333 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:41,334 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:41,334 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:41,345 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:41,346 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:41,346 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:41,346 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:41,347 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:41,347 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:41,347 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 := 20; {1607#(< 5 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:41,347 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,347 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:41,348 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1328853487] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:41,348 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:41,348 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 15] total 19 [2022-02-20 18:16:41,348 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [755215194] [2022-02-20 18:16:41,348 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:41,349 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:42,041 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:42,042 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:42,089 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:42,089 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 18:16:42,089 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:42,090 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 18:16:42,090 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=245, Unknown=0, NotChecked=0, Total=342 [2022-02-20 18:16:42,091 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:42,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:42,273 INFO L93 Difference]: Finished difference Result 34 states and 35 transitions. [2022-02-20 18:16:42,274 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 18:16:42,274 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:42,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:42,275 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:42,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 35 transitions. [2022-02-20 18:16:42,278 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:42,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 35 transitions. [2022-02-20 18:16:42,279 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 35 transitions. [2022-02-20 18:16:42,318 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:42,319 INFO L225 Difference]: With dead ends: 34 [2022-02-20 18:16:42,319 INFO L226 Difference]: Without dead ends: 30 [2022-02-20 18:16:42,320 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:42,320 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:42,321 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:42,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-02-20 18:16:42,325 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-02-20 18:16:42,325 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:42,325 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:42,326 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:42,326 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:42,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:42,328 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2022-02-20 18:16:42,328 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 18:16:42,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:42,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:42,329 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:42,329 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:42,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:42,331 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2022-02-20 18:16:42,331 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 18:16:42,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:42,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:42,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:42,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:42,332 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:42,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2022-02-20 18:16:42,333 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 40 [2022-02-20 18:16:42,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:42,333 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2022-02-20 18:16:42,333 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:42,334 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 18:16:42,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 18:16:42,335 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:42,335 INFO L514 BasicCegarLoop]: trace histogram [7, 7, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:42,363 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:42,544 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:42,544 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:42,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:42,545 INFO L85 PathProgramCache]: Analyzing trace with hash -918712436, now seen corresponding path program 6 times [2022-02-20 18:16:42,545 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:42,545 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [238777453] [2022-02-20 18:16:42,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:42,545 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:42,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:42,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:42,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:42,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:42,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:42,649 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:42,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:42,683 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:42,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:42,716 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:42,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:42,737 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:42,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:42,768 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:42,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:42,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:42,789 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:42,789 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:42,790 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:42,790 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,791 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:42,791 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:42,791 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,793 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:42,794 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:42,795 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:42,795 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:42,796 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:42,797 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:42,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:42,798 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:42,798 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:42,798 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,799 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:42,799 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:42,799 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,800 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:42,800 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:42,801 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:42,801 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:42,802 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:42,803 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:42,803 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:42,804 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:42,806 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:42,806 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,807 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:42,807 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:42,807 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,808 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:42,808 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:42,808 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,809 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:42,809 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:42,809 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,810 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:42,810 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:42,811 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:42,811 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:42,812 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:42,813 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:42,813 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:42,814 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:42,814 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:42,815 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:42,815 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:42,816 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:42,817 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,817 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:42,817 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:42,818 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,818 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:42,818 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:42,819 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,819 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:42,819 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:42,820 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,820 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:42,820 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:42,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:42,821 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:42,821 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:42,822 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:42,823 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:42,823 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:42,824 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:42,824 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:42,832 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:42,834 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:42,834 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:42,835 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:42,836 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:42,836 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:42,836 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:42,837 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:42,838 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,838 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:42,838 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:42,839 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,839 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:42,839 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:42,840 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,841 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:42,841 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:42,842 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,842 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:42,842 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:42,843 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,843 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:42,843 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:42,843 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,844 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:42,844 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:42,845 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:42,846 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:42,846 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:42,847 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:42,847 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:42,848 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:42,849 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:42,849 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:42,849 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:42,850 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:42,851 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:42,851 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:42,852 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:42,853 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:42,853 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:42,854 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:42,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,855 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:42,855 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:42,856 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,856 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:42,856 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:42,856 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,857 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:42,857 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:42,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,858 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:42,858 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:42,858 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,859 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:42,859 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:42,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,860 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:42,860 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:42,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,861 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:42,861 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:42,862 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:42,862 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:42,863 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:42,863 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:42,864 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:42,864 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:42,865 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:42,865 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:42,866 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:42,867 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:42,867 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:42,867 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:42,868 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:42,869 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:42,869 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:42,870 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:42,870 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:42,871 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:42,872 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1941#(<= |id_#in~x| 6)} {1865#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:42,872 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:42,873 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 := 20; {1865#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:42,873 INFO L272 TraceCheckUtils]: 2: Hoare triple {1865#(<= 20 |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:42,873 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,873 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:42,874 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:42,874 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,874 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:42,875 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:42,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,875 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:42,875 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:42,876 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,876 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:42,876 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:42,877 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,877 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:42,877 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:42,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,878 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:42,878 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:42,878 INFO L290 TraceCheckUtils]: 21: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:42,879 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:42,879 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:42,880 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:42,880 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:42,881 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:42,881 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:42,882 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:42,882 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:42,883 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:42,883 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:42,884 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:42,884 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:42,885 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:42,885 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:42,901 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:42,902 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:42,902 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:42,903 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:42,903 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:42,904 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:42,904 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1941#(<= |id_#in~x| 6)} {1865#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:42,904 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:42,905 INFO L290 TraceCheckUtils]: 44: Hoare triple {1864#false} assume 20 != main_~result~0#1; {1864#false} is VALID [2022-02-20 18:16:42,905 INFO L290 TraceCheckUtils]: 45: Hoare triple {1864#false} assume !false; {1864#false} is VALID [2022-02-20 18:16:42,905 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:42,905 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:42,905 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [238777453] [2022-02-20 18:16:42,906 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [238777453] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:42,906 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [926440817] [2022-02-20 18:16:42,906 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-02-20 18:16:42,906 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:42,906 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:42,907 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:42,915 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:42,979 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-02-20 18:16:42,979 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:42,980 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 18:16:42,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:42,995 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:43,288 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:43,289 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 := 20; {1865#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:43,289 INFO L272 TraceCheckUtils]: 2: Hoare triple {1865#(<= 20 |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:43,289 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:43,290 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:43,290 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:43,290 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:43,290 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:43,290 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:43,291 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:43,291 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:43,291 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:43,291 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:43,292 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:43,292 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:43,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:43,292 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:43,292 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:43,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:43,293 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:43,293 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:43,293 INFO L290 TraceCheckUtils]: 21: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:43,294 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:43,294 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:43,295 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:43,295 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:43,295 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:43,296 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:43,296 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:43,297 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:43,297 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:43,297 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:43,298 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:43,298 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:43,299 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:43,299 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:43,300 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:43,300 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:43,300 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:43,302 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:43,302 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:43,303 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:43,303 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1941#(<= |id_#in~x| 6)} {1865#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:43,303 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:43,303 INFO L290 TraceCheckUtils]: 44: Hoare triple {1864#false} assume 20 != main_~result~0#1; {1864#false} is VALID [2022-02-20 18:16:43,303 INFO L290 TraceCheckUtils]: 45: Hoare triple {1864#false} assume !false; {1864#false} is VALID [2022-02-20 18:16:43,304 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:43,304 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:48,478 INFO L290 TraceCheckUtils]: 45: Hoare triple {1864#false} assume !false; {1864#false} is VALID [2022-02-20 18:16:48,478 INFO L290 TraceCheckUtils]: 44: Hoare triple {1864#false} assume 20 != main_~result~0#1; {1864#false} is VALID [2022-02-20 18:16:48,478 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:48,479 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:48,479 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:48,479 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:48,480 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:48,480 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:48,481 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:48,481 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:48,482 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:48,482 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:48,483 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:48,483 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:48,483 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:48,484 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:48,484 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:48,484 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:48,485 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:48,485 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:48,486 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:48,486 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:48,486 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:48,487 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:48,487 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:48,487 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:48,488 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:48,488 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:48,488 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:48,488 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:48,489 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:48,489 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:48,495 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:48,496 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:48,496 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:48,497 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:48,497 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:48,497 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:48,498 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:48,498 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:48,499 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:48,499 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:48,499 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:48,501 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:48,502 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 := 20; {2177#(< 6 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:48,504 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:48,504 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:48,505 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [926440817] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:48,505 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:48,505 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 17] total 21 [2022-02-20 18:16:48,505 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1431930416] [2022-02-20 18:16:48,506 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:48,507 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:04,211 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:17:04,212 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:04,257 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:04,257 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 18:17:04,258 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:17:04,258 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 18:17:04,258 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=118, Invalid=302, Unknown=0, NotChecked=0, Total=420 [2022-02-20 18:17:04,259 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:04,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:17:04,475 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2022-02-20 18:17:04,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 18:17:04,476 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:04,476 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:17:04,476 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:04,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 38 transitions. [2022-02-20 18:17:04,479 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:04,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 38 transitions. [2022-02-20 18:17:04,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 38 transitions. [2022-02-20 18:17:04,514 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:04,516 INFO L225 Difference]: With dead ends: 37 [2022-02-20 18:17:04,516 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 18:17:04,517 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 161 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=245, Invalid=511, Unknown=0, NotChecked=0, Total=756 [2022-02-20 18:17:04,517 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:04,518 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:04,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 18:17:04,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-02-20 18:17:04,529 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:17:04,530 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:04,531 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:04,531 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:04,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:17:04,533 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2022-02-20 18:17:04,533 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 18:17:04,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:17:04,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:17:04,537 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:04,538 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:04,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:17:04,541 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2022-02-20 18:17:04,541 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 18:17:04,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:17:04,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:17:04,542 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:17:04,542 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:17:04,542 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:04,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 34 transitions. [2022-02-20 18:17:04,545 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 34 transitions. Word has length 46 [2022-02-20 18:17:04,545 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:17:04,546 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 34 transitions. [2022-02-20 18:17:04,546 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:04,546 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 18:17:04,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 18:17:04,551 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:17:04,551 INFO L514 BasicCegarLoop]: trace histogram [8, 8, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:17:04,573 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,763 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,764 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:17:04,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:17:04,764 INFO L85 PathProgramCache]: Analyzing trace with hash -626238314, now seen corresponding path program 7 times [2022-02-20 18:17:04,765 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:17:04,765 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1864484766] [2022-02-20 18:17:04,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:17:04,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:17:04,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,802 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,843 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,892 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,939 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,960 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:04,985 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:04,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:05,008 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:17:05,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:05,022 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,023 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:05,023 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:05,024 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:05,025 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,025 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:05,025 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:05,026 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,026 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:05,026 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:05,027 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:05,027 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:05,028 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:05,028 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:05,029 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,029 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:05,029 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:05,030 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,030 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:05,030 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:05,030 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,035 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:05,036 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:05,037 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:05,037 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:05,038 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:05,039 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:05,039 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:05,040 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:05,040 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:05,041 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,041 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:05,041 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:05,042 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,042 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:05,042 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:05,042 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,043 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:05,043 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:05,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,044 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:05,044 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:05,045 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:05,045 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:05,045 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:05,046 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:05,047 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:05,047 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:05,048 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:05,048 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:05,048 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:05,049 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:05,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,050 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:05,050 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:05,050 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,051 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:05,051 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:05,051 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,051 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:05,051 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:05,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,052 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:05,052 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:05,053 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,053 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:05,053 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:05,054 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:05,054 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:05,055 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:05,055 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:05,056 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:05,056 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:05,057 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:05,057 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:05,057 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:05,058 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:05,058 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:05,059 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:05,059 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:05,060 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,065 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:05,065 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:05,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,066 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:05,067 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:05,067 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,067 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:05,068 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:05,068 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,068 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:05,068 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:05,069 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,069 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:05,069 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:05,069 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,070 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:05,070 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:05,071 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:05,071 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:05,072 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:05,076 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:05,077 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:05,077 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:05,078 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:05,079 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:05,080 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:05,080 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:05,081 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:05,081 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:05,082 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:05,083 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:05,083 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:05,084 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:05,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,085 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:05,085 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:05,085 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,085 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:05,085 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:05,086 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,086 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:05,086 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:05,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,087 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:05,087 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:05,087 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,088 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:05,088 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:05,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,089 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:05,089 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:05,089 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,090 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:05,090 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:05,091 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:05,091 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:05,092 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:05,093 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:05,093 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:05,094 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:05,094 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:05,095 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:05,095 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:05,096 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:05,096 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:05,097 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:05,098 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:05,098 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:05,098 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:05,099 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:05,100 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:05,100 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:05,101 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:05,101 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,102 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:05,102 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:05,102 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,103 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:05,103 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:05,103 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,104 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:05,104 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:05,104 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,105 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:05,105 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:05,105 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,106 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:05,106 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:05,106 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,106 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:05,107 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:05,107 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,107 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:05,108 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:05,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,108 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:05,109 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:05,110 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:05,110 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:05,110 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:05,118 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:05,119 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:05,119 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:05,120 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:05,121 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:05,121 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:05,122 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:05,123 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:05,123 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:05,124 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:05,124 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:05,125 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:05,125 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:05,126 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:05,126 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:05,127 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:05,127 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:05,128 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:05,132 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2468#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:17:05,133 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:05,133 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 := 20; {2468#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:17:05,133 INFO L272 TraceCheckUtils]: 2: Hoare triple {2468#(<= 20 |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:05,134 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,134 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:05,134 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:05,135 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,135 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:05,135 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:05,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,136 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:05,136 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:05,137 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,137 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:05,137 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:05,138 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,138 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:05,138 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:05,139 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,139 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:05,139 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:05,140 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,140 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:05,140 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:05,141 INFO L290 TraceCheckUtils]: 24: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,141 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:05,141 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:05,142 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:05,143 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:05,143 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:05,144 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:05,145 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:05,145 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:05,146 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:05,146 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:05,147 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:05,148 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:05,148 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:05,148 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:05,149 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:05,150 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:05,150 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:05,151 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:05,151 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:05,152 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:05,152 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:05,153 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:05,153 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:05,154 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2468#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:17:05,154 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:05,154 INFO L290 TraceCheckUtils]: 50: Hoare triple {2467#false} assume 20 != main_~result~0#1; {2467#false} is VALID [2022-02-20 18:17:05,154 INFO L290 TraceCheckUtils]: 51: Hoare triple {2467#false} assume !false; {2467#false} is VALID [2022-02-20 18:17:05,155 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:05,155 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:17:05,155 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1864484766] [2022-02-20 18:17:05,156 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1864484766] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:17:05,156 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [251740662] [2022-02-20 18:17:05,156 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-02-20 18:17:05,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:17:05,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:17:05,160 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:05,162 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:05,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:05,246 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 18:17:05,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:17:05,273 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:17:05,611 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:05,612 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 := 20; {2468#(<= 20 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:17:05,612 INFO L272 TraceCheckUtils]: 2: Hoare triple {2468#(<= 20 |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:05,612 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,613 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:05,613 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:05,613 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,613 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:05,613 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:05,614 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,614 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:05,614 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:05,614 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,615 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:05,615 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:05,616 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,616 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:05,616 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:05,616 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,617 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:05,617 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:05,617 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,617 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:05,618 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:05,618 INFO L290 TraceCheckUtils]: 24: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:17:05,618 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:05,619 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:05,620 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:05,620 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:05,620 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:05,621 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:05,621 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:05,621 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:05,622 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:05,623 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:05,624 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:05,625 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:05,625 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:05,625 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:05,626 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:05,626 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:05,627 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:05,627 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:05,628 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:05,628 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:05,629 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:05,629 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:05,629 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:05,630 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2468#(<= 20 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:17:05,630 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:05,630 INFO L290 TraceCheckUtils]: 50: Hoare triple {2467#false} assume 20 != main_~result~0#1; {2467#false} is VALID [2022-02-20 18:17:05,630 INFO L290 TraceCheckUtils]: 51: Hoare triple {2467#false} assume !false; {2467#false} is VALID [2022-02-20 18:17:05,631 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:05,631 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:17:13,062 INFO L290 TraceCheckUtils]: 51: Hoare triple {2467#false} assume !false; {2467#false} is VALID [2022-02-20 18:17:13,062 INFO L290 TraceCheckUtils]: 50: Hoare triple {2467#false} assume 20 != main_~result~0#1; {2467#false} is VALID [2022-02-20 18:17:13,062 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:13,063 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:13,063 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:13,063 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:13,064 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:13,064 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:13,065 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:13,066 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:13,067 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:13,067 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:13,068 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:13,068 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:13,069 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:13,069 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:13,070 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:13,070 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:13,070 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:13,071 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:13,071 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:13,072 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:13,072 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:13,072 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:13,073 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:13,073 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:13,073 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:13,074 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:13,074 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:13,074 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:13,075 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:13,075 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:13,075 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:13,075 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:13,075 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:13,076 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:13,076 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:13,076 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:13,076 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:13,077 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:13,077 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:13,077 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:13,077 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:13,078 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:13,078 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:13,078 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:13,078 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:13,079 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:13,079 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:13,079 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:13,079 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 := 20; {2845#(< 7 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:17:13,079 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:13,080 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:13,080 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [251740662] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:17:13,080 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:17:13,080 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12, 19] total 23 [2022-02-20 18:17:13,080 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1934591079] [2022-02-20 18:17:13,080 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:17:13,081 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