./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/recursive-simple/id_i10_o10-2.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_i10_o10-2.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 3f8ee4f5181b3404c1367dbf131683f1e761cea6b176154f687b628466c991fe --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 18:16:20,835 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 18:16:20,837 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 18:16:20,860 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 18:16:20,861 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 18:16:20,862 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 18:16:20,864 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 18:16:20,867 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 18:16:20,869 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 18:16:20,870 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 18:16:20,871 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 18:16:20,872 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 18:16:20,873 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 18:16:20,875 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 18:16:20,877 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 18:16:20,878 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 18:16:20,879 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 18:16:20,883 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 18:16:20,884 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 18:16:20,889 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 18:16:20,892 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 18:16:20,893 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 18:16:20,894 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 18:16:20,895 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 18:16:20,898 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 18:16:20,898 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 18:16:20,901 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 18:16:20,902 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 18:16:20,903 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 18:16:20,904 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 18:16:20,905 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 18:16:20,906 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 18:16:20,907 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 18:16:20,908 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 18:16:20,909 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 18:16:20,909 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 18:16:20,909 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 18:16:20,909 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 18:16:20,910 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 18:16:20,911 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 18:16:20,911 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 18:16:20,913 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:20,938 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 18:16:20,940 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 18:16:20,941 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 18:16:20,941 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 18:16:20,942 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 18:16:20,942 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 18:16:20,943 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 18:16:20,943 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 18:16:20,943 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 18:16:20,944 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 18:16:20,944 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 18:16:20,944 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 18:16:20,945 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 18:16:20,945 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 18:16:20,945 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 18:16:20,945 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 18:16:20,945 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 18:16:20,945 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 18:16:20,946 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 18:16:20,946 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 18:16:20,946 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 18:16:20,946 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 18:16:20,946 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 18:16:20,947 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 18:16:20,947 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:16:20,947 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 18:16:20,947 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 18:16:20,948 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 18:16:20,948 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 18:16:20,949 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 18:16:20,949 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 18:16:20,949 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 18:16:20,949 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 18:16:20,949 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 -> 3f8ee4f5181b3404c1367dbf131683f1e761cea6b176154f687b628466c991fe [2022-02-20 18:16:21,203 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 18:16:21,223 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 18:16:21,225 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 18:16:21,226 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 18:16:21,227 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 18:16:21,228 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive-simple/id_i10_o10-2.c [2022-02-20 18:16:21,317 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7a99c53da/3badb905478f471ab1bd12e989542dd9/FLAGb0c03c57f [2022-02-20 18:16:21,665 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 18:16:21,666 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/id_i10_o10-2.c [2022-02-20 18:16:21,669 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7a99c53da/3badb905478f471ab1bd12e989542dd9/FLAGb0c03c57f [2022-02-20 18:16:21,678 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7a99c53da/3badb905478f471ab1bd12e989542dd9 [2022-02-20 18:16:21,680 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 18:16:21,681 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 18:16:21,682 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 18:16:21,683 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 18:16:21,685 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 18:16:21,686 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:16:21" (1/1) ... [2022-02-20 18:16:21,686 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4921dd51 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:21, skipping insertion in model container [2022-02-20 18:16:21,687 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:16:21" (1/1) ... [2022-02-20 18:16:21,691 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 18:16:21,701 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 18:16:21,834 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_i10_o10-2.c[454,467] [2022-02-20 18:16:21,836 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:16:21,842 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 18:16:21,861 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_i10_o10-2.c[454,467] [2022-02-20 18:16:21,863 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:16:21,872 INFO L208 MainTranslator]: Completed translation [2022-02-20 18:16:21,874 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:21 WrapperNode [2022-02-20 18:16:21,875 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 18:16:21,876 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 18:16:21,876 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 18:16:21,877 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 18:16:21,882 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:21" (1/1) ... [2022-02-20 18:16:21,888 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:21" (1/1) ... [2022-02-20 18:16:21,910 INFO L137 Inliner]: procedures = 13, calls = 9, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 19 [2022-02-20 18:16:21,911 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 18:16:21,912 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 18:16:21,912 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 18:16:21,912 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 18:16:21,918 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:21" (1/1) ... [2022-02-20 18:16:21,918 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:21" (1/1) ... [2022-02-20 18:16:21,920 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:21" (1/1) ... [2022-02-20 18:16:21,920 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:21" (1/1) ... [2022-02-20 18:16:21,924 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:21" (1/1) ... [2022-02-20 18:16:21,926 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:21" (1/1) ... [2022-02-20 18:16:21,930 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:21" (1/1) ... [2022-02-20 18:16:21,932 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 18:16:21,934 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 18:16:21,934 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 18:16:21,934 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 18:16:21,936 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:21" (1/1) ... [2022-02-20 18:16:21,941 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:16:21,948 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:21,963 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:21,973 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:21,994 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 18:16:21,994 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 18:16:21,994 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 18:16:21,995 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 18:16:21,995 INFO L130 BoogieDeclarations]: Found specification of procedure id [2022-02-20 18:16:21,995 INFO L138 BoogieDeclarations]: Found implementation of procedure id [2022-02-20 18:16:22,038 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 18:16:22,039 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 18:16:22,116 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 18:16:22,122 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 18:16:22,122 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 18:16:22,124 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:16:22 BoogieIcfgContainer [2022-02-20 18:16:22,124 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 18:16:22,125 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 18:16:22,125 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 18:16:22,128 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 18:16:22,129 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 06:16:21" (1/3) ... [2022-02-20 18:16:22,129 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d2c5057 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:16:22, skipping insertion in model container [2022-02-20 18:16:22,129 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:16:21" (2/3) ... [2022-02-20 18:16:22,130 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d2c5057 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:16:22, skipping insertion in model container [2022-02-20 18:16:22,130 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:16:22" (3/3) ... [2022-02-20 18:16:22,131 INFO L111 eAbstractionObserver]: Analyzing ICFG id_i10_o10-2.c [2022-02-20 18:16:22,135 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 18:16:22,135 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 18:16:22,173 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 18:16:22,179 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:22,180 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 18:16:22,213 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:22,216 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 18:16:22,223 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:22,224 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:22,224 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:22,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:22,228 INFO L85 PathProgramCache]: Analyzing trace with hash -358017204, now seen corresponding path program 1 times [2022-02-20 18:16:22,249 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:22,249 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [445723636] [2022-02-20 18:16:22,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:22,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:22,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:22,413 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:22,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:22,459 INFO L290 TraceCheckUtils]: 0: Hoare triple {19#true} ~x := #in~x; {26#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:22,461 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:22,462 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:22,464 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27#(= |id_#in~x| 0)} {21#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {20#false} is VALID [2022-02-20 18:16:22,465 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:22,466 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 := 10; {21#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:22,467 INFO L272 TraceCheckUtils]: 2: Hoare triple {21#(<= 10 |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:22,468 INFO L290 TraceCheckUtils]: 3: Hoare triple {19#true} ~x := #in~x; {26#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:22,471 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:22,472 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:22,477 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {27#(= |id_#in~x| 0)} {21#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {20#false} is VALID [2022-02-20 18:16:22,478 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:22,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {20#false} assume 10 != main_~result~0#1; {20#false} is VALID [2022-02-20 18:16:22,478 INFO L290 TraceCheckUtils]: 9: Hoare triple {20#false} assume !false; {20#false} is VALID [2022-02-20 18:16:22,479 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:22,480 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:22,480 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [445723636] [2022-02-20 18:16:22,481 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [445723636] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:16:22,482 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:16:22,482 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 18:16:22,486 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [656810342] [2022-02-20 18:16:22,488 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:16:22,494 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:22,496 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:22,498 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:22,521 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:22,522 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 18:16:22,522 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:22,549 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 18:16:22,551 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:16:22,553 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:22,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:22,694 INFO L93 Difference]: Finished difference Result 25 states and 28 transitions. [2022-02-20 18:16:22,694 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:16:22,694 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:22,695 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:22,696 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:22,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 28 transitions. [2022-02-20 18:16:22,710 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:22,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 28 transitions. [2022-02-20 18:16:22,713 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 28 transitions. [2022-02-20 18:16:22,740 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:22,751 INFO L225 Difference]: With dead ends: 25 [2022-02-20 18:16:22,751 INFO L226 Difference]: Without dead ends: 15 [2022-02-20 18:16:22,754 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:22,757 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:22,758 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:22,771 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 15 states. [2022-02-20 18:16:22,784 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 15 to 15. [2022-02-20 18:16:22,784 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:22,785 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:22,786 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:22,787 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:22,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:22,795 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2022-02-20 18:16:22,795 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2022-02-20 18:16:22,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:22,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:22,796 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:22,797 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:22,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:22,802 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2022-02-20 18:16:22,803 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2022-02-20 18:16:22,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:22,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:22,803 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:22,804 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:22,804 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:22,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 16 transitions. [2022-02-20 18:16:22,806 INFO L78 Accepts]: Start accepts. Automaton has 15 states and 16 transitions. Word has length 10 [2022-02-20 18:16:22,807 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:22,807 INFO L470 AbstractCegarLoop]: Abstraction has 15 states and 16 transitions. [2022-02-20 18:16:22,807 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:22,808 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2022-02-20 18:16:22,809 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 18:16:22,809 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:22,812 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:22,812 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 18:16:22,813 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:22,815 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:22,816 INFO L85 PathProgramCache]: Analyzing trace with hash 679465686, now seen corresponding path program 1 times [2022-02-20 18:16:22,816 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:22,816 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2034131531] [2022-02-20 18:16:22,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:22,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:22,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:22,857 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:22,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:22,894 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:22,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:22,917 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:22,920 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:22,921 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:22,922 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:22,923 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:22,924 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:22,924 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:22,924 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:22,925 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:22,926 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:22,929 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:22,930 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:22,931 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:22,932 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {126#(<= |id_#in~x| 1)} {110#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:22,932 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:22,933 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 := 10; {110#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:22,933 INFO L272 TraceCheckUtils]: 2: Hoare triple {110#(<= 10 |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:22,933 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:22,934 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:22,936 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:22,936 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} ~x := #in~x; {121#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:22,937 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:22,937 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:22,938 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:22,939 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:22,939 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:22,940 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {126#(<= |id_#in~x| 1)} {110#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:22,941 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:22,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {109#false} assume 10 != main_~result~0#1; {109#false} is VALID [2022-02-20 18:16:22,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {109#false} assume !false; {109#false} is VALID [2022-02-20 18:16:22,941 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:22,941 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:22,942 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2034131531] [2022-02-20 18:16:22,955 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2034131531] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:22,955 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [595596595] [2022-02-20 18:16:22,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:22,956 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:22,956 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:22,960 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:22,980 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:23,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:23,009 INFO L263 TraceCheckSpWp]: Trace formula consists of 60 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 18:16:23,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:23,019 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:23,205 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:23,206 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 := 10; {110#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:23,206 INFO L272 TraceCheckUtils]: 2: Hoare triple {110#(<= 10 |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:23,207 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} ~x := #in~x; {140#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:23,207 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:23,207 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:23,211 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} ~x := #in~x; {140#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:23,212 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:23,212 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:23,213 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:23,214 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:23,214 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:23,217 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {126#(<= |id_#in~x| 1)} {110#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {109#false} is VALID [2022-02-20 18:16:23,217 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:23,217 INFO L290 TraceCheckUtils]: 14: Hoare triple {109#false} assume 10 != main_~result~0#1; {109#false} is VALID [2022-02-20 18:16:23,217 INFO L290 TraceCheckUtils]: 15: Hoare triple {109#false} assume !false; {109#false} is VALID [2022-02-20 18:16:23,218 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:23,218 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:23,721 INFO L290 TraceCheckUtils]: 15: Hoare triple {109#false} assume !false; {109#false} is VALID [2022-02-20 18:16:23,721 INFO L290 TraceCheckUtils]: 14: Hoare triple {109#false} assume 10 != main_~result~0#1; {109#false} is VALID [2022-02-20 18:16:23,721 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:23,722 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:23,722 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:23,723 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:23,724 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:23,725 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:23,726 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:23,726 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:23,726 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:23,727 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:23,728 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:23,728 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:23,729 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 := 10; {187#(< 1 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:23,729 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:23,729 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:23,729 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [595596595] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:23,730 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:23,730 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 7] total 11 [2022-02-20 18:16:23,731 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1567508484] [2022-02-20 18:16:23,731 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:23,732 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:23,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:23,733 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:23,762 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:23,762 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 18:16:23,762 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:23,763 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 18:16:23,763 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=77, Unknown=0, NotChecked=0, Total=110 [2022-02-20 18:16:23,764 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:23,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:23,872 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2022-02-20 18:16:23,873 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 18:16:23,873 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:23,873 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:23,874 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:23,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 23 transitions. [2022-02-20 18:16:23,884 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:23,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 23 transitions. [2022-02-20 18:16:23,886 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 23 transitions. [2022-02-20 18:16:23,904 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:23,905 INFO L225 Difference]: With dead ends: 22 [2022-02-20 18:16:23,905 INFO L226 Difference]: Without dead ends: 18 [2022-02-20 18:16:23,906 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:23,907 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:23,907 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:23,908 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18 states. [2022-02-20 18:16:23,910 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18 to 18. [2022-02-20 18:16:23,910 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:23,910 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:23,911 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:23,911 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:23,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:23,912 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2022-02-20 18:16:23,912 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2022-02-20 18:16:23,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:23,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:23,913 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:23,913 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:23,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:23,915 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2022-02-20 18:16:23,915 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2022-02-20 18:16:23,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:23,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:23,919 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:23,919 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:23,919 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:23,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 19 transitions. [2022-02-20 18:16:23,920 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 19 transitions. Word has length 16 [2022-02-20 18:16:23,920 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:23,920 INFO L470 AbstractCegarLoop]: Abstraction has 18 states and 19 transitions. [2022-02-20 18:16:23,921 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:23,921 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2022-02-20 18:16:23,921 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 18:16:23,921 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:23,921 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:23,941 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 18:16:24,122 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:24,122 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:24,123 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:24,123 INFO L85 PathProgramCache]: Analyzing trace with hash -41010676, now seen corresponding path program 2 times [2022-02-20 18:16:24,123 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:24,123 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [750886989] [2022-02-20 18:16:24,123 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:24,123 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:24,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:24,177 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:24,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:24,210 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:24,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:24,235 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:24,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:24,247 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,248 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:24,248 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:24,249 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:24,249 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,249 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:24,250 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:24,250 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,250 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:24,251 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:24,251 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:24,251 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:24,252 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:24,252 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:24,253 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,253 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:24,253 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:24,254 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,254 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:24,254 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:24,254 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,255 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:24,255 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:24,256 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:24,256 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:24,256 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:24,257 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:24,258 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:24,258 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:24,259 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {341#(<= |id_#in~x| 2)} {313#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:24,259 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:24,260 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 := 10; {313#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:24,260 INFO L272 TraceCheckUtils]: 2: Hoare triple {313#(<= 10 |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:24,260 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,260 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:24,260 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:24,261 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,261 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:24,261 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:24,262 INFO L290 TraceCheckUtils]: 9: Hoare triple {311#true} ~x := #in~x; {330#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,262 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:24,262 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:24,263 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:24,263 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:24,264 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:24,264 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:24,265 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:24,265 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:24,266 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {341#(<= |id_#in~x| 2)} {313#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:24,266 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:24,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume 10 != main_~result~0#1; {312#false} is VALID [2022-02-20 18:16:24,266 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-02-20 18:16:24,266 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:24,266 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:24,266 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [750886989] [2022-02-20 18:16:24,266 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [750886989] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:24,266 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1964340572] [2022-02-20 18:16:24,267 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 18:16:24,267 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:24,267 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:24,288 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:24,288 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:24,321 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 18:16:24,321 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:24,322 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 18:16:24,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:24,344 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:24,468 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:24,468 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 := 10; {313#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:24,468 INFO L272 TraceCheckUtils]: 2: Hoare triple {313#(<= 10 |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:24,469 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} ~x := #in~x; {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,469 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:24,469 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:24,470 INFO L290 TraceCheckUtils]: 6: Hoare triple {311#true} ~x := #in~x; {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,470 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:24,470 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:24,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {311#true} ~x := #in~x; {360#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:24,471 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:24,471 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:24,472 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:24,473 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:24,473 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:24,473 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:24,474 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:24,474 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:24,475 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {341#(<= |id_#in~x| 2)} {313#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {312#false} is VALID [2022-02-20 18:16:24,475 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:24,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume 10 != main_~result~0#1; {312#false} is VALID [2022-02-20 18:16:24,476 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-02-20 18:16:24,476 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:24,476 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:25,191 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-02-20 18:16:25,191 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume 10 != main_~result~0#1; {312#false} is VALID [2022-02-20 18:16:25,191 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:25,192 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:25,192 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:25,195 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:25,196 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:25,197 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:25,197 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:25,198 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:25,198 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:25,198 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:25,199 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:25,199 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:25,199 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:25,200 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:25,200 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:25,200 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:25,200 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:25,200 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:25,201 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 := 10; {425#(< 2 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:25,201 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:25,201 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:25,202 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1964340572] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:25,202 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:25,202 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 9] total 13 [2022-02-20 18:16:25,202 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1848601961] [2022-02-20 18:16:25,202 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:25,204 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:25,208 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:25,209 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:25,230 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:25,230 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 18:16:25,230 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:25,230 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 18:16:25,231 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2022-02-20 18:16:25,231 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:25,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:25,347 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2022-02-20 18:16:25,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 18:16:25,347 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:25,347 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:25,348 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:25,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 26 transitions. [2022-02-20 18:16:25,350 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:25,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 26 transitions. [2022-02-20 18:16:25,354 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 26 transitions. [2022-02-20 18:16:25,370 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:25,372 INFO L225 Difference]: With dead ends: 25 [2022-02-20 18:16:25,373 INFO L226 Difference]: Without dead ends: 21 [2022-02-20 18:16:25,373 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:25,375 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:25,376 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:25,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-02-20 18:16:25,380 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2022-02-20 18:16:25,380 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:25,381 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:25,381 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:25,381 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:25,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:25,384 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2022-02-20 18:16:25,385 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2022-02-20 18:16:25,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:25,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:25,386 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:25,386 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:25,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:25,388 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2022-02-20 18:16:25,388 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2022-02-20 18:16:25,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:25,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:25,389 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:25,389 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:25,389 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:25,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 22 transitions. [2022-02-20 18:16:25,393 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 22 transitions. Word has length 22 [2022-02-20 18:16:25,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:25,393 INFO L470 AbstractCegarLoop]: Abstraction has 21 states and 22 transitions. [2022-02-20 18:16:25,394 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:25,394 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2022-02-20 18:16:25,397 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 18:16:25,398 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:25,398 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:25,434 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:25,612 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:25,613 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:25,613 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:25,613 INFO L85 PathProgramCache]: Analyzing trace with hash 1769866774, now seen corresponding path program 3 times [2022-02-20 18:16:25,613 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:25,613 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [677881209] [2022-02-20 18:16:25,614 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:25,614 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:25,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:25,650 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:25,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:25,686 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:25,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:25,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:25,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:25,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:25,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:25,750 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,751 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:25,751 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:25,752 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:25,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,768 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:25,768 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:25,768 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,769 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:25,769 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:25,770 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:25,770 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:25,770 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:25,771 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:25,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,772 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:25,772 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:25,772 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,773 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:25,773 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:25,773 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,774 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:25,775 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:25,775 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:25,776 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:25,776 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:25,777 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:25,791 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:25,792 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:25,793 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:25,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,794 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:25,794 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:25,794 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,794 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:25,794 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:25,795 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,795 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:25,795 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:25,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,796 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:25,796 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:25,797 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:25,797 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:25,797 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:25,798 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:25,799 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:25,799 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:25,800 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:25,800 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:25,800 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:25,801 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {624#(<= |id_#in~x| 3)} {584#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:25,801 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:25,802 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 := 10; {584#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:25,802 INFO L272 TraceCheckUtils]: 2: Hoare triple {584#(<= 10 |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:25,802 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,802 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:25,803 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:25,803 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,803 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:25,803 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:25,804 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,804 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:25,804 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:25,805 INFO L290 TraceCheckUtils]: 12: Hoare triple {582#true} ~x := #in~x; {607#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:25,805 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:25,805 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:25,806 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:25,807 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:25,807 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:25,808 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:25,808 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:25,813 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:25,814 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:25,814 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:25,814 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:25,815 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {624#(<= |id_#in~x| 3)} {584#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:25,815 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:25,815 INFO L290 TraceCheckUtils]: 26: Hoare triple {583#false} assume 10 != main_~result~0#1; {583#false} is VALID [2022-02-20 18:16:25,815 INFO L290 TraceCheckUtils]: 27: Hoare triple {583#false} assume !false; {583#false} is VALID [2022-02-20 18:16:25,816 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:25,816 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:25,816 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [677881209] [2022-02-20 18:16:25,816 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [677881209] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:25,816 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [529893794] [2022-02-20 18:16:25,816 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 18:16:25,817 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:25,817 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:25,828 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:25,830 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:25,858 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 18:16:25,859 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:25,859 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 18:16:25,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:25,872 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:26,012 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:26,013 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 := 10; {584#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:26,013 INFO L272 TraceCheckUtils]: 2: Hoare triple {584#(<= 10 |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:26,016 INFO L290 TraceCheckUtils]: 3: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:26,016 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:26,017 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:26,018 INFO L290 TraceCheckUtils]: 6: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:26,018 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:26,018 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:26,018 INFO L290 TraceCheckUtils]: 9: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:26,019 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:26,019 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:26,019 INFO L290 TraceCheckUtils]: 12: Hoare triple {582#true} ~x := #in~x; {654#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:26,020 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:26,020 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:26,021 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:26,021 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:26,022 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:26,022 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:26,022 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:26,023 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:26,023 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:26,024 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:26,024 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:26,024 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {624#(<= |id_#in~x| 3)} {584#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {583#false} is VALID [2022-02-20 18:16:26,025 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:26,025 INFO L290 TraceCheckUtils]: 26: Hoare triple {583#false} assume 10 != main_~result~0#1; {583#false} is VALID [2022-02-20 18:16:26,025 INFO L290 TraceCheckUtils]: 27: Hoare triple {583#false} assume !false; {583#false} is VALID [2022-02-20 18:16:26,027 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:26,027 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:27,412 INFO L290 TraceCheckUtils]: 27: Hoare triple {583#false} assume !false; {583#false} is VALID [2022-02-20 18:16:27,412 INFO L290 TraceCheckUtils]: 26: Hoare triple {583#false} assume 10 != main_~result~0#1; {583#false} is VALID [2022-02-20 18:16:27,412 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:27,414 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:27,414 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:27,415 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:27,415 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:27,416 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:27,416 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:27,417 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:27,417 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:27,417 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:27,418 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:27,418 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:27,418 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:27,419 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:27,419 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:27,419 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:27,420 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:27,420 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:27,421 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:27,421 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:27,421 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:27,422 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:27,422 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:27,422 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:27,435 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 := 10; {737#(< 3 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:27,436 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:27,436 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:27,436 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [529893794] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:27,436 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:27,436 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 11] total 15 [2022-02-20 18:16:27,436 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [629860529] [2022-02-20 18:16:27,436 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:27,437 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:27,453 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:27,454 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:27,491 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:27,491 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 18:16:27,491 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:27,492 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 18:16:27,492 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=149, Unknown=0, NotChecked=0, Total=210 [2022-02-20 18:16:27,492 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:27,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:27,633 INFO L93 Difference]: Finished difference Result 28 states and 29 transitions. [2022-02-20 18:16:27,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 18:16:27,633 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:27,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:27,634 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:27,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2022-02-20 18:16:27,638 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:27,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 29 transitions. [2022-02-20 18:16:27,639 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 29 transitions. [2022-02-20 18:16:27,661 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:27,661 INFO L225 Difference]: With dead ends: 28 [2022-02-20 18:16:27,662 INFO L226 Difference]: Without dead ends: 24 [2022-02-20 18:16:27,662 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:27,662 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:27,663 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:27,663 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-02-20 18:16:27,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2022-02-20 18:16:27,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:27,666 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:27,666 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:27,667 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:27,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:27,668 INFO L93 Difference]: Finished difference Result 24 states and 25 transitions. [2022-02-20 18:16:27,668 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2022-02-20 18:16:27,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:27,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:27,668 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:27,668 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:27,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:27,672 INFO L93 Difference]: Finished difference Result 24 states and 25 transitions. [2022-02-20 18:16:27,672 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2022-02-20 18:16:27,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:27,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:27,673 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:27,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:27,674 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:27,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2022-02-20 18:16:27,675 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 25 transitions. Word has length 28 [2022-02-20 18:16:27,675 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:27,675 INFO L470 AbstractCegarLoop]: Abstraction has 24 states and 25 transitions. [2022-02-20 18:16:27,676 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:27,677 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2022-02-20 18:16:27,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 18:16:27,678 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:27,678 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:27,694 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:27,887 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:27,888 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:27,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:27,888 INFO L85 PathProgramCache]: Analyzing trace with hash 371264716, now seen corresponding path program 4 times [2022-02-20 18:16:27,888 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:27,888 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [319808916] [2022-02-20 18:16:27,888 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:27,888 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:27,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,937 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:27,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:27,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:27,998 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:28,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:28,022 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:28,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:28,045 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:28,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:28,057 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,058 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:28,058 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:28,059 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:28,059 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,060 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:28,060 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:28,060 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,061 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:28,061 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:28,062 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:28,062 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:28,062 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:28,063 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:28,064 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,064 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:28,064 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:28,065 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,065 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:28,065 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:28,065 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,066 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:28,066 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:28,067 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:28,067 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:28,068 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:28,068 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:28,069 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:28,069 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:28,070 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:28,070 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,071 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:28,071 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:28,071 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,071 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:28,072 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:28,072 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,072 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:28,072 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:28,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,073 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:28,073 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:28,074 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:28,074 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:28,074 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:28,075 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:28,075 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:28,075 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:28,077 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:28,077 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:28,078 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:28,078 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:28,079 INFO L290 TraceCheckUtils]: 0: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,079 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:28,080 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:28,080 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,080 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:28,080 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:28,081 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,081 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:28,081 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:28,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,082 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:28,082 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:28,083 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,083 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:28,084 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:28,088 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:28,088 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:28,089 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:28,089 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:28,090 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:28,090 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:28,090 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:28,091 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:28,091 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:28,092 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:28,092 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:28,092 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:28,093 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {981#(<= |id_#in~x| 4)} {929#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:28,093 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:28,093 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 := 10; {929#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:28,093 INFO L272 TraceCheckUtils]: 2: Hoare triple {929#(<= 10 |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:28,094 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,094 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:28,094 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:28,094 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,095 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:28,095 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:28,095 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,095 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:28,095 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:28,096 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,096 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:28,096 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:28,096 INFO L290 TraceCheckUtils]: 15: Hoare triple {927#true} ~x := #in~x; {958#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,097 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:28,097 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:28,097 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:28,098 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:28,098 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:28,099 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:28,099 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:28,099 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:28,100 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:28,100 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:28,100 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:28,101 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:28,101 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:28,101 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:28,102 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {981#(<= |id_#in~x| 4)} {929#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:28,102 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:28,102 INFO L290 TraceCheckUtils]: 32: Hoare triple {928#false} assume 10 != main_~result~0#1; {928#false} is VALID [2022-02-20 18:16:28,102 INFO L290 TraceCheckUtils]: 33: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-02-20 18:16:28,103 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:28,103 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:28,103 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [319808916] [2022-02-20 18:16:28,103 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [319808916] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:28,103 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [543371701] [2022-02-20 18:16:28,103 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 18:16:28,103 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:28,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:28,105 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:28,106 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:28,178 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 18:16:28,178 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:28,179 INFO L263 TraceCheckSpWp]: Trace formula consists of 59 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 18:16:28,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:28,190 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:28,457 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:28,458 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 := 10; {929#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:28,458 INFO L272 TraceCheckUtils]: 2: Hoare triple {929#(<= 10 |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:28,458 INFO L290 TraceCheckUtils]: 3: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,459 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:28,459 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:28,459 INFO L290 TraceCheckUtils]: 6: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,459 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:28,459 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:28,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,460 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:28,460 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:28,460 INFO L290 TraceCheckUtils]: 12: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,461 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:28,461 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:28,461 INFO L290 TraceCheckUtils]: 15: Hoare triple {927#true} ~x := #in~x; {1028#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:28,461 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:28,462 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:28,462 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:28,463 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:28,463 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:28,464 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:28,464 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:28,464 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:28,465 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:28,465 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:28,465 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:28,479 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:28,479 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:28,480 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:28,480 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {981#(<= |id_#in~x| 4)} {929#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {928#false} is VALID [2022-02-20 18:16:28,480 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:28,481 INFO L290 TraceCheckUtils]: 32: Hoare triple {928#false} assume 10 != main_~result~0#1; {928#false} is VALID [2022-02-20 18:16:28,481 INFO L290 TraceCheckUtils]: 33: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-02-20 18:16:28,481 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:28,481 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:30,731 INFO L290 TraceCheckUtils]: 33: Hoare triple {928#false} assume !false; {928#false} is VALID [2022-02-20 18:16:30,731 INFO L290 TraceCheckUtils]: 32: Hoare triple {928#false} assume 10 != main_~result~0#1; {928#false} is VALID [2022-02-20 18:16:30,731 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:30,738 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:30,738 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:30,738 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:30,740 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:30,740 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:30,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:30,741 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:30,741 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:30,742 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:30,742 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:30,743 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:30,743 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:30,743 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:30,744 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:30,744 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:30,745 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:30,745 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:30,745 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:30,748 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:30,748 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:30,749 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:30,749 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:30,749 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:30,749 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:30,750 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:30,750 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:30,750 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:30,750 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:30,750 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:30,751 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 := 10; {1129#(< 4 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:30,751 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:30,751 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:30,751 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [543371701] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:30,751 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:30,751 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 13] total 17 [2022-02-20 18:16:30,751 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [863004074] [2022-02-20 18:16:30,751 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:30,752 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:30,805 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:30,806 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:30,841 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:30,841 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 18:16:30,841 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:30,842 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 18:16:30,842 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=194, Unknown=0, NotChecked=0, Total=272 [2022-02-20 18:16:30,842 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:30,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:30,996 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2022-02-20 18:16:30,996 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 18:16:30,996 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:30,997 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:30,997 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:30,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 32 transitions. [2022-02-20 18:16:30,998 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:30,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 32 transitions. [2022-02-20 18:16:30,999 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 32 transitions. [2022-02-20 18:16:31,022 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:31,024 INFO L225 Difference]: With dead ends: 31 [2022-02-20 18:16:31,024 INFO L226 Difference]: Without dead ends: 27 [2022-02-20 18:16:31,024 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:31,025 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:31,025 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:31,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-02-20 18:16:31,031 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-02-20 18:16:31,031 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:31,031 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:31,032 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:31,032 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:31,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:31,033 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2022-02-20 18:16:31,033 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2022-02-20 18:16:31,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:31,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:31,034 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:31,034 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:31,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:31,035 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2022-02-20 18:16:31,035 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2022-02-20 18:16:31,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:31,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:31,039 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:31,039 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:31,040 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:31,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 28 transitions. [2022-02-20 18:16:31,043 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 28 transitions. Word has length 34 [2022-02-20 18:16:31,043 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:31,043 INFO L470 AbstractCegarLoop]: Abstraction has 27 states and 28 transitions. [2022-02-20 18:16:31,043 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:31,043 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2022-02-20 18:16:31,044 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 18:16:31,044 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:31,044 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:31,062 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-02-20 18:16:31,259 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:31,260 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:31,260 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:31,260 INFO L85 PathProgramCache]: Analyzing trace with hash -886339242, now seen corresponding path program 5 times [2022-02-20 18:16:31,260 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:31,260 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [66012397] [2022-02-20 18:16:31,260 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:31,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:31,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,309 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:31,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,345 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:31,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:31,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,387 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:31,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,413 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:31,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,433 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:31,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,446 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,447 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:31,447 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:31,448 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:31,448 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,448 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:31,449 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:31,449 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,449 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:31,449 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:31,450 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:31,450 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:31,450 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:31,451 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:31,451 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,451 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:31,451 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:31,452 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,452 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:31,452 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:31,452 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,453 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:31,453 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:31,453 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:31,454 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:31,454 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:31,455 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:31,455 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:31,455 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:31,456 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:31,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,456 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:31,456 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:31,457 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,457 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:31,457 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:31,457 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,457 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:31,458 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:31,458 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,458 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:31,458 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:31,459 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:31,459 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:31,459 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:31,460 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:31,460 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:31,461 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:31,461 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:31,461 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:31,462 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:31,462 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:31,463 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,463 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:31,463 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:31,463 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,464 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:31,464 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:31,464 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,464 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:31,464 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:31,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,465 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:31,465 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:31,465 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,466 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:31,466 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:31,466 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:31,467 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:31,467 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:31,468 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:31,468 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:31,468 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:31,469 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:31,469 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:31,469 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:31,470 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:31,470 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:31,471 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:31,471 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:31,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,472 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:31,472 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:31,473 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,473 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:31,473 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:31,473 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,474 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:31,474 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:31,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,474 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:31,474 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:31,475 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,475 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:31,475 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:31,475 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,475 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:31,476 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:31,476 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:31,477 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:31,477 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:31,477 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:31,478 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:31,478 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:31,478 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:31,479 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:31,479 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:31,479 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:31,480 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:31,480 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:31,481 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:31,481 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:31,481 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:31,482 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1354#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:31,482 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:31,482 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 := 10; {1354#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:31,482 INFO L272 TraceCheckUtils]: 2: Hoare triple {1354#(<= 10 |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:31,482 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,483 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:31,483 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:31,483 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,483 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:31,483 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:31,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,484 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:31,484 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:31,484 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,484 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:31,484 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:31,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,485 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:31,485 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:31,485 INFO L290 TraceCheckUtils]: 18: Hoare triple {1352#true} ~x := #in~x; {1389#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,485 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:31,485 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:31,486 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:31,486 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:31,486 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:31,487 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:31,487 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:31,487 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:31,488 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:31,488 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:31,488 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:31,489 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:31,489 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:31,489 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:31,490 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:31,490 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:31,490 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:31,491 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1354#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:31,491 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:31,491 INFO L290 TraceCheckUtils]: 38: Hoare triple {1353#false} assume 10 != main_~result~0#1; {1353#false} is VALID [2022-02-20 18:16:31,491 INFO L290 TraceCheckUtils]: 39: Hoare triple {1353#false} assume !false; {1353#false} is VALID [2022-02-20 18:16:31,491 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:31,492 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:31,492 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [66012397] [2022-02-20 18:16:31,492 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [66012397] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:31,493 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1315852297] [2022-02-20 18:16:31,493 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-02-20 18:16:31,493 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:31,493 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:31,494 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:31,534 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:31,547 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2022-02-20 18:16:31,547 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:31,548 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 18:16:31,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:31,560 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:31,769 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:31,769 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 := 10; {1354#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:31,769 INFO L272 TraceCheckUtils]: 2: Hoare triple {1354#(<= 10 |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:31,770 INFO L290 TraceCheckUtils]: 3: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,770 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:31,770 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:31,770 INFO L290 TraceCheckUtils]: 6: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,780 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:31,780 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:31,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,780 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:31,780 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:31,781 INFO L290 TraceCheckUtils]: 12: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,781 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:31,781 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:31,781 INFO L290 TraceCheckUtils]: 15: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,782 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:31,782 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:31,782 INFO L290 TraceCheckUtils]: 18: Hoare triple {1352#true} ~x := #in~x; {1488#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:31,782 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:31,783 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:31,783 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:31,784 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:31,784 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:31,785 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:31,785 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:31,785 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:31,786 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:31,786 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:31,786 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:31,787 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:31,787 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:31,787 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:31,788 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:31,788 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:31,788 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:31,789 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1418#(<= |id_#in~x| 5)} {1354#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1353#false} is VALID [2022-02-20 18:16:31,789 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:31,789 INFO L290 TraceCheckUtils]: 38: Hoare triple {1353#false} assume 10 != main_~result~0#1; {1353#false} is VALID [2022-02-20 18:16:31,789 INFO L290 TraceCheckUtils]: 39: Hoare triple {1353#false} assume !false; {1353#false} is VALID [2022-02-20 18:16:31,790 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:31,790 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:35,191 INFO L290 TraceCheckUtils]: 39: Hoare triple {1353#false} assume !false; {1353#false} is VALID [2022-02-20 18:16:35,192 INFO L290 TraceCheckUtils]: 38: Hoare triple {1353#false} assume 10 != main_~result~0#1; {1353#false} is VALID [2022-02-20 18:16:35,192 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:35,192 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:35,193 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:35,193 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:35,194 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:35,194 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:35,194 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:35,195 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:35,195 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:35,195 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:35,196 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:35,196 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:35,196 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:35,197 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:35,197 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:35,198 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:35,198 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:35,198 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:35,204 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:35,204 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:35,204 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:35,204 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:35,205 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:35,205 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:35,205 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:35,205 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:35,206 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:35,215 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:35,216 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:35,216 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:35,216 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:35,217 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:35,217 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:35,217 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:35,217 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:35,218 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:35,218 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 := 10; {1607#(< 5 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:35,218 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:35,218 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:35,218 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1315852297] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:35,218 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:35,218 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 15] total 19 [2022-02-20 18:16:35,219 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2108821313] [2022-02-20 18:16:35,219 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:35,219 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:35,725 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:35,725 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:35,761 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:35,761 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 18:16:35,761 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:35,761 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 18:16:35,761 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=245, Unknown=0, NotChecked=0, Total=342 [2022-02-20 18:16:35,762 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:35,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:35,970 INFO L93 Difference]: Finished difference Result 34 states and 35 transitions. [2022-02-20 18:16:35,970 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 18:16:35,971 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:35,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:35,971 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:35,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 35 transitions. [2022-02-20 18:16:35,973 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:35,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 35 transitions. [2022-02-20 18:16:35,974 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 35 transitions. [2022-02-20 18:16:36,000 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:36,001 INFO L225 Difference]: With dead ends: 34 [2022-02-20 18:16:36,001 INFO L226 Difference]: Without dead ends: 30 [2022-02-20 18:16:36,002 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:36,003 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:36,003 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:36,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-02-20 18:16:36,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-02-20 18:16:36,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:36,009 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:36,009 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:36,009 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:36,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:36,010 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2022-02-20 18:16:36,010 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 18:16:36,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:36,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:36,011 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:36,011 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:36,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:36,013 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2022-02-20 18:16:36,013 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 18:16:36,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:36,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:36,013 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:36,013 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:36,013 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:36,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2022-02-20 18:16:36,014 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 40 [2022-02-20 18:16:36,014 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:36,015 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2022-02-20 18:16:36,015 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:36,015 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 18:16:36,015 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 18:16:36,015 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:36,015 INFO L514 BasicCegarLoop]: trace histogram [7, 7, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:36,032 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:36,219 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:36,220 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:36,220 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:36,220 INFO L85 PathProgramCache]: Analyzing trace with hash -918712436, now seen corresponding path program 6 times [2022-02-20 18:16:36,220 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:36,220 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1329684021] [2022-02-20 18:16:36,220 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:36,221 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:36,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:36,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:36,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:36,268 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:36,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:36,294 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:36,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:36,316 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:36,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:36,343 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:36,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:36,358 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:36,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:36,375 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:36,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:36,387 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,388 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:36,388 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:36,389 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:36,389 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,389 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:36,389 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:36,390 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,390 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:36,390 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:36,391 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:36,391 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:36,391 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:36,392 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:36,392 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,392 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:36,393 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:36,393 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,401 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:36,401 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:36,401 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,402 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:36,402 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:36,402 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:36,403 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:36,403 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:36,403 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:36,404 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:36,404 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:36,406 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:36,406 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,406 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:36,407 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:36,407 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,407 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:36,407 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:36,407 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,408 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:36,408 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:36,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,408 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:36,408 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:36,409 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:36,409 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:36,409 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:36,410 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:36,410 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:36,410 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:36,411 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:36,411 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:36,411 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:36,412 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:36,412 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,412 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:36,412 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:36,413 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,413 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:36,413 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:36,413 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,413 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:36,414 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:36,414 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,414 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:36,414 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:36,414 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,415 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:36,415 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:36,415 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:36,415 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:36,416 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:36,416 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:36,417 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:36,417 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:36,417 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:36,417 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:36,418 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:36,418 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:36,418 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:36,419 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:36,419 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:36,420 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,420 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:36,420 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:36,420 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,420 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:36,420 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:36,421 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,421 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:36,421 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:36,421 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,421 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:36,422 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:36,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,422 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:36,422 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:36,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,422 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:36,423 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:36,423 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:36,423 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:36,424 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:36,424 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:36,425 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:36,425 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:36,425 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:36,425 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:36,426 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:36,434 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:36,435 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:36,435 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:36,435 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:36,436 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:36,436 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:36,436 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:36,437 INFO L290 TraceCheckUtils]: 0: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,437 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:36,437 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:36,437 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,438 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:36,438 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:36,438 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,438 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:36,438 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:36,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,439 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:36,439 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:36,439 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,440 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:36,440 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:36,440 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,440 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:36,440 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:36,441 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,441 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:36,441 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:36,442 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:36,442 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:36,442 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:36,443 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:36,443 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:36,443 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:36,444 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:36,444 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:36,444 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:36,445 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:36,445 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:36,445 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:36,446 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:36,446 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:36,446 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:36,447 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:36,447 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:36,447 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:36,448 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1941#(<= |id_#in~x| 6)} {1865#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:36,449 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:36,449 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 := 10; {1865#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:36,449 INFO L272 TraceCheckUtils]: 2: Hoare triple {1865#(<= 10 |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:36,449 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,450 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:36,450 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:36,450 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,450 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:36,450 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:36,451 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,451 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:36,451 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:36,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,451 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:36,452 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:36,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,452 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:36,452 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:36,452 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,453 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:36,453 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:36,453 INFO L290 TraceCheckUtils]: 21: Hoare triple {1863#true} ~x := #in~x; {1906#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,453 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:36,454 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:36,454 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:36,454 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:36,455 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:36,455 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:36,455 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:36,456 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:36,456 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:36,457 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:36,457 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:36,457 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:36,458 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:36,458 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:36,458 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:36,459 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:36,459 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:36,459 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:36,460 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:36,460 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:36,460 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1941#(<= |id_#in~x| 6)} {1865#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:36,461 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:36,461 INFO L290 TraceCheckUtils]: 44: Hoare triple {1864#false} assume 10 != main_~result~0#1; {1864#false} is VALID [2022-02-20 18:16:36,461 INFO L290 TraceCheckUtils]: 45: Hoare triple {1864#false} assume !false; {1864#false} is VALID [2022-02-20 18:16:36,461 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:36,461 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:36,461 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1329684021] [2022-02-20 18:16:36,461 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1329684021] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:36,462 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [235776052] [2022-02-20 18:16:36,462 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-02-20 18:16:36,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:36,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:36,463 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:36,464 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:36,517 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-02-20 18:16:36,517 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 18:16:36,518 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 18:16:36,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:36,528 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:36,776 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:36,776 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 := 10; {1865#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:36,776 INFO L272 TraceCheckUtils]: 2: Hoare triple {1865#(<= 10 |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:36,776 INFO L290 TraceCheckUtils]: 3: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,777 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:36,777 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:36,777 INFO L290 TraceCheckUtils]: 6: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,777 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:36,778 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:36,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,778 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:36,778 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:36,779 INFO L290 TraceCheckUtils]: 12: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,779 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:36,779 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:36,779 INFO L290 TraceCheckUtils]: 15: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,780 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:36,780 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:36,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,780 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:36,780 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:36,781 INFO L290 TraceCheckUtils]: 21: Hoare triple {1863#true} ~x := #in~x; {2040#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:36,781 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:36,781 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:36,782 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:36,782 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:36,783 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:36,783 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:36,784 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:36,784 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:36,785 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:36,785 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:36,785 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:36,786 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:36,786 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:36,787 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:36,787 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:36,787 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:36,788 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:36,788 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:36,789 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:36,789 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:36,789 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {1941#(<= |id_#in~x| 6)} {1865#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {1864#false} is VALID [2022-02-20 18:16:36,790 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:36,790 INFO L290 TraceCheckUtils]: 44: Hoare triple {1864#false} assume 10 != main_~result~0#1; {1864#false} is VALID [2022-02-20 18:16:36,790 INFO L290 TraceCheckUtils]: 45: Hoare triple {1864#false} assume !false; {1864#false} is VALID [2022-02-20 18:16:36,790 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:36,790 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:16:41,511 INFO L290 TraceCheckUtils]: 45: Hoare triple {1864#false} assume !false; {1864#false} is VALID [2022-02-20 18:16:41,511 INFO L290 TraceCheckUtils]: 44: Hoare triple {1864#false} assume 10 != main_~result~0#1; {1864#false} is VALID [2022-02-20 18:16:41,512 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:41,512 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:41,512 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:41,513 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:41,513 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:41,514 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:41,514 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:41,514 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:41,515 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:41,515 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:41,515 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:41,516 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:41,516 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:41,517 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:41,517 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:41,517 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:41,518 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:41,518 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:41,518 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:41,519 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:41,519 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:41,519 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:41,520 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:41,520 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:41,520 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:41,520 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:41,520 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:41,521 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:41,521 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:41,521 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:41,522 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:41,522 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:41,522 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:41,522 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:41,523 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:41,523 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:41,523 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:41,523 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:41,524 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:41,524 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:41,525 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:41,525 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:41,525 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 := 10; {2177#(< 6 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:41,525 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:41,526 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:41,526 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [235776052] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:16:41,526 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:16:41,526 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 17] total 21 [2022-02-20 18:16:41,526 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [575360741] [2022-02-20 18:16:41,526 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:16:41,527 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:16:53,865 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:16:53,866 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:16:53,921 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:16:53,922 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 18:16:53,922 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:16:53,922 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 18:16:53,923 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=118, Invalid=302, Unknown=0, NotChecked=0, Total=420 [2022-02-20 18:16:53,923 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:16:54,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:54,152 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2022-02-20 18:16:54,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 18:16:54,152 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:16:54,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:16:54,153 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:16:54,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 38 transitions. [2022-02-20 18:16:54,154 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:16:54,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 38 transitions. [2022-02-20 18:16:54,155 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 38 transitions. [2022-02-20 18:16:54,196 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:54,199 INFO L225 Difference]: With dead ends: 37 [2022-02-20 18:16:54,199 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 18:16:54,200 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:16:54,201 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:16:54,202 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:16:54,204 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 18:16:54,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-02-20 18:16:54,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:16:54,215 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:16:54,215 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:16:54,215 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:16:54,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:54,217 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2022-02-20 18:16:54,217 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 18:16:54,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:54,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:54,219 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:16:54,220 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:16:54,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:16:54,222 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2022-02-20 18:16:54,222 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 18:16:54,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:16:54,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:16:54,223 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:16:54,223 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:16:54,224 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:16:54,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 34 transitions. [2022-02-20 18:16:54,226 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 34 transitions. Word has length 46 [2022-02-20 18:16:54,226 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:16:54,226 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 34 transitions. [2022-02-20 18:16:54,227 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:16:54,227 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 18:16:54,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 18:16:54,229 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:16:54,229 INFO L514 BasicCegarLoop]: trace histogram [8, 8, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:16:54,253 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-02-20 18:16:54,452 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:16:54,453 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:16:54,454 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:16:54,454 INFO L85 PathProgramCache]: Analyzing trace with hash -626238314, now seen corresponding path program 7 times [2022-02-20 18:16:54,454 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:16:54,454 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [96537797] [2022-02-20 18:16:54,454 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:16:54,454 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:16:54,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,503 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:54,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:54,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,561 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:54,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,590 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:54,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:54,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,631 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:54,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,649 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:54,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,666 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 18:16:54,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,681 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,681 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:16:54,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:54,683 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:16:54,683 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,683 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:16:54,684 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:16:54,684 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,684 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:16:54,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:54,686 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:16:54,686 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:16:54,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:54,687 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:16:54,688 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,688 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:16:54,688 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:16:54,688 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,689 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:16:54,689 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:16:54,689 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,690 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:16:54,690 INFO L290 TraceCheckUtils]: 8: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:54,691 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:16:54,692 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:16:54,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:54,693 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:16:54,693 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:16:54,694 INFO L290 TraceCheckUtils]: 14: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:54,695 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:16:54,695 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,696 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:16:54,696 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:16:54,696 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,696 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:16:54,697 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:16:54,697 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,697 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:16:54,698 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:16:54,698 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,698 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:16:54,699 INFO L290 TraceCheckUtils]: 11: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:54,700 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:16:54,700 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:16:54,700 INFO L290 TraceCheckUtils]: 14: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:54,701 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:16:54,701 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:16:54,702 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:54,703 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:16:54,703 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:16:54,703 INFO L290 TraceCheckUtils]: 20: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:54,704 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:16:54,705 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,705 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:16:54,705 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:16:54,705 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,706 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:16:54,706 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:16:54,706 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,707 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:16:54,707 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:16:54,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,707 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:16:54,708 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:16:54,708 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,708 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:16:54,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:54,709 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:16:54,710 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:16:54,710 INFO L290 TraceCheckUtils]: 17: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:54,711 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:16:54,711 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:16:54,712 INFO L290 TraceCheckUtils]: 20: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:54,712 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:16:54,713 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:16:54,713 INFO L290 TraceCheckUtils]: 23: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:54,714 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:16:54,714 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:16:54,714 INFO L290 TraceCheckUtils]: 26: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:54,715 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:16:54,716 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,716 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:16:54,716 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:16:54,716 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,717 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:16:54,717 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:16:54,718 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,718 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:16:54,719 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:16:54,719 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,719 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:16:54,719 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:16:54,720 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,720 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:16:54,720 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:16:54,721 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,721 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:16:54,721 INFO L290 TraceCheckUtils]: 17: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:54,722 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:16:54,723 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:16:54,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:54,724 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:16:54,724 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:16:54,724 INFO L290 TraceCheckUtils]: 23: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:54,725 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:16:54,725 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:16:54,726 INFO L290 TraceCheckUtils]: 26: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:54,726 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:16:54,727 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:16:54,727 INFO L290 TraceCheckUtils]: 29: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:54,728 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:16:54,728 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:16:54,728 INFO L290 TraceCheckUtils]: 32: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:54,729 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:16:54,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,730 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:16:54,730 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:16:54,731 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,731 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:16:54,731 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:16:54,731 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,732 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:16:54,732 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:16:54,732 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,733 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:16:54,733 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:16:54,733 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,733 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:16:54,734 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:16:54,734 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,734 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:16:54,734 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:16:54,735 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,735 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:16:54,735 INFO L290 TraceCheckUtils]: 20: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:54,736 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:16:54,737 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:16:54,737 INFO L290 TraceCheckUtils]: 23: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:54,738 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:16:54,738 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:16:54,738 INFO L290 TraceCheckUtils]: 26: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:54,739 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:16:54,740 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:16:54,740 INFO L290 TraceCheckUtils]: 29: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:54,741 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:16:54,741 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:16:54,741 INFO L290 TraceCheckUtils]: 32: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:54,742 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:16:54,742 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:16:54,743 INFO L290 TraceCheckUtils]: 35: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:54,743 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:16:54,744 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:16:54,744 INFO L290 TraceCheckUtils]: 38: Hoare triple {2591#(<= |id_#in~x| 6)} assume true; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:54,745 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:16:54,745 INFO L290 TraceCheckUtils]: 0: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,746 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:16:54,746 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:16:54,746 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,746 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:16:54,747 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:16:54,747 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,747 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:16:54,747 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:16:54,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,748 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:16:54,748 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:16:54,748 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,749 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:16:54,749 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:16:54,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,749 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:16:54,750 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:16:54,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,750 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:16:54,750 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:16:54,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,751 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:16:54,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:54,752 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:16:54,753 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:16:54,753 INFO L290 TraceCheckUtils]: 26: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:54,760 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:16:54,761 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:16:54,761 INFO L290 TraceCheckUtils]: 29: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:54,762 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:16:54,762 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:16:54,762 INFO L290 TraceCheckUtils]: 32: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:54,763 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:16:54,764 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:16:54,764 INFO L290 TraceCheckUtils]: 35: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:54,765 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:16:54,771 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:16:54,772 INFO L290 TraceCheckUtils]: 38: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:54,773 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:16:54,773 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:16:54,773 INFO L290 TraceCheckUtils]: 41: Hoare triple {2591#(<= |id_#in~x| 6)} assume true; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:54,774 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:16:54,774 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:16:54,775 INFO L290 TraceCheckUtils]: 44: Hoare triple {2556#(<= |id_#in~x| 7)} assume true; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:16:54,775 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2468#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:16:54,776 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:16:54,776 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 := 10; {2468#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:54,776 INFO L272 TraceCheckUtils]: 2: Hoare triple {2468#(<= 10 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {2466#true} is VALID [2022-02-20 18:16:54,776 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,777 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:16:54,777 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:16:54,777 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,777 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:16:54,778 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:16:54,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,778 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:16:54,778 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:16:54,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,779 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:16:54,779 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:16:54,779 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,780 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:16:54,780 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:16:54,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,780 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:16:54,780 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:16:54,781 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,781 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:16:54,781 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:16:54,781 INFO L290 TraceCheckUtils]: 24: Hoare triple {2466#true} ~x := #in~x; {2515#(= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:54,782 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:16:54,782 INFO L290 TraceCheckUtils]: 26: Hoare triple {2677#(= |id_#in~x| 0)} assume true; {2677#(= |id_#in~x| 0)} is VALID [2022-02-20 18:16:54,783 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:16:54,783 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:16:54,783 INFO L290 TraceCheckUtils]: 29: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:54,784 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:16:54,784 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:16:54,785 INFO L290 TraceCheckUtils]: 32: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:54,785 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:16:54,786 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:16:54,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:54,787 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:16:54,787 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:16:54,787 INFO L290 TraceCheckUtils]: 38: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:54,788 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:16:54,788 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:16:54,788 INFO L290 TraceCheckUtils]: 41: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:54,789 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:16:54,789 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:16:54,790 INFO L290 TraceCheckUtils]: 44: Hoare triple {2591#(<= |id_#in~x| 6)} assume true; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:54,790 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:16:54,791 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:16:54,791 INFO L290 TraceCheckUtils]: 47: Hoare triple {2556#(<= |id_#in~x| 7)} assume true; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:16:54,791 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2468#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:16:54,792 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:16:54,792 INFO L290 TraceCheckUtils]: 50: Hoare triple {2467#false} assume 10 != main_~result~0#1; {2467#false} is VALID [2022-02-20 18:16:54,792 INFO L290 TraceCheckUtils]: 51: Hoare triple {2467#false} assume !false; {2467#false} is VALID [2022-02-20 18:16:54,792 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:16:54,792 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:16:54,792 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [96537797] [2022-02-20 18:16:54,792 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [96537797] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:16:54,793 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1769620710] [2022-02-20 18:16:54,793 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-02-20 18:16:54,793 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:16:54,793 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:16:54,794 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:16:54,835 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:16:54,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,895 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 18:16:54,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:16:54,922 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:16:55,312 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:16:55,313 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 := 10; {2468#(<= 10 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:16:55,314 INFO L272 TraceCheckUtils]: 2: Hoare triple {2468#(<= 10 |ULTIMATE.start_main_~input~0#1|)} call main_#t~ret5#1 := id(main_~input~0#1); {2466#true} is VALID [2022-02-20 18:16:55,314 INFO L290 TraceCheckUtils]: 3: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:55,315 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:16:55,315 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:16:55,315 INFO L290 TraceCheckUtils]: 6: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:55,315 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:16:55,316 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:16:55,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:55,316 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:16:55,316 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:16:55,317 INFO L290 TraceCheckUtils]: 12: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:55,317 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:16:55,317 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:16:55,317 INFO L290 TraceCheckUtils]: 15: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:55,318 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:16:55,318 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:16:55,318 INFO L290 TraceCheckUtils]: 18: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:55,318 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:16:55,319 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:16:55,319 INFO L290 TraceCheckUtils]: 21: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:55,319 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:16:55,319 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:16:55,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {2466#true} ~x := #in~x; {2690#(<= |id_#in~x| id_~x)} is VALID [2022-02-20 18:16:55,320 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:16:55,320 INFO L290 TraceCheckUtils]: 26: Hoare triple {2757#(<= |id_#in~x| 0)} assume true; {2757#(<= |id_#in~x| 0)} is VALID [2022-02-20 18:16:55,321 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:16:55,322 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:16:55,322 INFO L290 TraceCheckUtils]: 29: Hoare triple {2676#(<= |id_#in~x| 1)} assume true; {2676#(<= |id_#in~x| 1)} is VALID [2022-02-20 18:16:55,323 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:16:55,323 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:16:55,323 INFO L290 TraceCheckUtils]: 32: Hoare triple {2671#(<= |id_#in~x| 2)} assume true; {2671#(<= |id_#in~x| 2)} is VALID [2022-02-20 18:16:55,324 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:16:55,325 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:16:55,325 INFO L290 TraceCheckUtils]: 35: Hoare triple {2660#(<= |id_#in~x| 3)} assume true; {2660#(<= |id_#in~x| 3)} is VALID [2022-02-20 18:16:55,326 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:16:55,326 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:16:55,326 INFO L290 TraceCheckUtils]: 38: Hoare triple {2643#(<= |id_#in~x| 4)} assume true; {2643#(<= |id_#in~x| 4)} is VALID [2022-02-20 18:16:55,327 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:16:55,327 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:16:55,328 INFO L290 TraceCheckUtils]: 41: Hoare triple {2620#(<= |id_#in~x| 5)} assume true; {2620#(<= |id_#in~x| 5)} is VALID [2022-02-20 18:16:55,328 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:16:55,329 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:16:55,329 INFO L290 TraceCheckUtils]: 44: Hoare triple {2591#(<= |id_#in~x| 6)} assume true; {2591#(<= |id_#in~x| 6)} is VALID [2022-02-20 18:16:55,330 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:16:55,330 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:16:55,330 INFO L290 TraceCheckUtils]: 47: Hoare triple {2556#(<= |id_#in~x| 7)} assume true; {2556#(<= |id_#in~x| 7)} is VALID [2022-02-20 18:16:55,331 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {2556#(<= |id_#in~x| 7)} {2468#(<= 10 |ULTIMATE.start_main_~input~0#1|)} #25#return; {2467#false} is VALID [2022-02-20 18:16:55,331 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:16:55,331 INFO L290 TraceCheckUtils]: 50: Hoare triple {2467#false} assume 10 != main_~result~0#1; {2467#false} is VALID [2022-02-20 18:16:55,332 INFO L290 TraceCheckUtils]: 51: Hoare triple {2467#false} assume !false; {2467#false} is VALID [2022-02-20 18:16:55,332 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:16:55,332 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:17:03,159 INFO L290 TraceCheckUtils]: 51: Hoare triple {2467#false} assume !false; {2467#false} is VALID [2022-02-20 18:17:03,159 INFO L290 TraceCheckUtils]: 50: Hoare triple {2467#false} assume 10 != main_~result~0#1; {2467#false} is VALID [2022-02-20 18:17:03,159 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:03,160 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:03,160 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:03,161 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:03,162 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:03,163 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:03,163 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:03,164 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:03,164 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:03,164 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:03,165 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:03,165 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:03,166 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:03,167 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:03,187 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:03,188 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:03,189 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:03,189 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:03,190 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:03,190 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:03,191 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:03,191 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:03,194 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:03,195 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:03,195 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:03,195 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:03,195 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:03,196 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:03,196 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:03,196 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:03,196 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:03,197 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:03,197 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:03,197 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:03,198 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:03,198 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:03,198 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:03,198 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:03,198 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:03,199 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:03,199 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:03,199 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:03,200 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:03,200 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:03,200 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:03,200 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:03,201 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:03,201 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:03,201 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 := 10; {2845#(< 7 |ULTIMATE.start_main_~input~0#1|)} is VALID [2022-02-20 18:17:03,201 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:03,202 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:03,202 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1769620710] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:17:03,202 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:17:03,202 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12, 19] total 23 [2022-02-20 18:17:03,203 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1592233449] [2022-02-20 18:17:03,203 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:17:03,203 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