./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/recursive-simple/id2_i5_o5-1.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 8bd4bc60 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.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/id2_i5_o5-1.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 59c5766d3cddc0d41e2678bb5221cccc60217431 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.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/id2_i5_o5-1.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.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(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 59c5766d3cddc0d41e2678bb5221cccc60217431 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator --- Real Ultimate output --- This is Ultimate 0.1.25-8bd4bc6 [2020-07-28 19:11:32,170 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 19:11:32,172 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 19:11:32,185 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 19:11:32,185 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 19:11:32,186 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 19:11:32,188 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 19:11:32,190 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 19:11:32,192 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 19:11:32,192 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 19:11:32,194 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 19:11:32,195 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 19:11:32,195 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 19:11:32,196 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 19:11:32,197 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 19:11:32,199 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 19:11:32,199 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 19:11:32,200 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 19:11:32,202 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 19:11:32,205 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 19:11:32,206 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 19:11:32,208 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 19:11:32,209 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 19:11:32,210 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 19:11:32,213 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 19:11:32,213 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 19:11:32,213 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 19:11:32,214 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 19:11:32,215 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 19:11:32,216 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 19:11:32,216 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 19:11:32,217 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 19:11:32,218 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 19:11:32,219 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 19:11:32,220 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 19:11:32,220 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 19:11:32,221 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 19:11:32,221 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 19:11:32,221 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 19:11:32,222 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 19:11:32,223 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 19:11:32,224 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-28 19:11:32,239 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 19:11:32,240 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 19:11:32,241 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 19:11:32,241 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 19:11:32,241 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 19:11:32,242 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 19:11:32,242 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 19:11:32,242 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-28 19:11:32,242 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 19:11:32,242 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 19:11:32,243 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 19:11:32,243 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 19:11:32,243 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 19:11:32,243 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 19:11:32,244 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 19:11:32,244 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 19:11:32,244 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 19:11:32,244 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 19:11:32,244 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 19:11:32,245 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 19:11:32,245 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 19:11:32,245 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:11:32,245 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 19:11:32,246 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 19:11:32,246 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 19:11:32,246 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-28 19:11:32,246 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-28 19:11:32,246 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 19:11:32,247 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 19:11:32,247 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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(__VERIFIER_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 -> 59c5766d3cddc0d41e2678bb5221cccc60217431 [2020-07-28 19:11:32,562 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 19:11:32,576 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 19:11:32,580 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 19:11:32,581 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 19:11:32,582 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 19:11:32,583 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive-simple/id2_i5_o5-1.c [2020-07-28 19:11:32,647 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fae949df0/570fb878f09148f29990dbbf1fcae9c7/FLAG517716931 [2020-07-28 19:11:33,090 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 19:11:33,091 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/id2_i5_o5-1.c [2020-07-28 19:11:33,098 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fae949df0/570fb878f09148f29990dbbf1fcae9c7/FLAG517716931 [2020-07-28 19:11:33,493 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fae949df0/570fb878f09148f29990dbbf1fcae9c7 [2020-07-28 19:11:33,497 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 19:11:33,500 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 19:11:33,502 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 19:11:33,502 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 19:11:33,507 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 19:11:33,509 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,512 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@195abc55 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33, skipping insertion in model container [2020-07-28 19:11:33,512 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,521 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 19:11:33,541 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 19:11:33,723 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:11:33,728 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 19:11:33,746 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:11:33,761 INFO L208 MainTranslator]: Completed translation [2020-07-28 19:11:33,762 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33 WrapperNode [2020-07-28 19:11:33,763 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 19:11:33,764 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 19:11:33,764 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 19:11:33,764 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 19:11:33,772 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,777 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,855 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 19:11:33,856 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 19:11:33,856 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 19:11:33,856 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 19:11:33,866 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,867 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,868 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,868 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,873 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,877 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,878 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... [2020-07-28 19:11:33,884 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 19:11:33,885 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 19:11:33,885 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 19:11:33,885 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 19:11:33,887 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:11:33,951 INFO L130 BoogieDeclarations]: Found specification of procedure id2 [2020-07-28 19:11:33,951 INFO L138 BoogieDeclarations]: Found implementation of procedure id2 [2020-07-28 19:11:33,951 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 19:11:33,951 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 19:11:33,951 INFO L130 BoogieDeclarations]: Found specification of procedure id [2020-07-28 19:11:33,951 INFO L138 BoogieDeclarations]: Found implementation of procedure id [2020-07-28 19:11:34,192 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 19:11:34,193 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-28 19:11:34,196 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:11:34 BoogieIcfgContainer [2020-07-28 19:11:34,197 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 19:11:34,198 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 19:11:34,198 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 19:11:34,201 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 19:11:34,202 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 07:11:33" (1/3) ... [2020-07-28 19:11:34,203 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7eb3ac76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:11:34, skipping insertion in model container [2020-07-28 19:11:34,203 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:33" (2/3) ... [2020-07-28 19:11:34,204 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7eb3ac76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:11:34, skipping insertion in model container [2020-07-28 19:11:34,204 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:11:34" (3/3) ... [2020-07-28 19:11:34,206 INFO L109 eAbstractionObserver]: Analyzing ICFG id2_i5_o5-1.c [2020-07-28 19:11:34,223 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 19:11:34,232 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 19:11:34,250 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 19:11:34,278 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 19:11:34,278 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 19:11:34,279 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 19:11:34,279 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 19:11:34,279 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 19:11:34,279 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 19:11:34,280 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 19:11:34,280 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 19:11:34,301 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states. [2020-07-28 19:11:34,308 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2020-07-28 19:11:34,309 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:34,310 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:34,310 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:34,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:34,317 INFO L82 PathProgramCache]: Analyzing trace with hash 2105267373, now seen corresponding path program 1 times [2020-07-28 19:11:34,329 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:11:34,330 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1050119168] [2020-07-28 19:11:34,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:11:34,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:34,494 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:11:34,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:34,574 INFO L280 TraceCheckUtils]: 0: Hoare triple {24#true} ~x := #in~x; {31#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:34,576 INFO L280 TraceCheckUtils]: 1: Hoare triple {31#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {32#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:34,578 INFO L280 TraceCheckUtils]: 2: Hoare triple {32#(= 0 |id_#in~x|)} assume true; {32#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:34,581 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {32#(= 0 |id_#in~x|)} {26#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {25#false} is VALID [2020-07-28 19:11:34,585 INFO L280 TraceCheckUtils]: 0: Hoare triple {24#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5; {26#(<= 5 ULTIMATE.start_main_~input~0)} is VALID [2020-07-28 19:11:34,586 INFO L263 TraceCheckUtils]: 1: Hoare triple {26#(<= 5 ULTIMATE.start_main_~input~0)} call main_#t~ret2 := id(main_~input~0); {24#true} is VALID [2020-07-28 19:11:34,588 INFO L280 TraceCheckUtils]: 2: Hoare triple {24#true} ~x := #in~x; {31#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:34,590 INFO L280 TraceCheckUtils]: 3: Hoare triple {31#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {32#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:34,591 INFO L280 TraceCheckUtils]: 4: Hoare triple {32#(= 0 |id_#in~x|)} assume true; {32#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:34,593 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {32#(= 0 |id_#in~x|)} {26#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {25#false} is VALID [2020-07-28 19:11:34,594 INFO L280 TraceCheckUtils]: 6: Hoare triple {25#false} assume -2147483648 <= main_#t~ret2 && main_#t~ret2 <= 2147483647;main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {25#false} is VALID [2020-07-28 19:11:34,594 INFO L280 TraceCheckUtils]: 7: Hoare triple {25#false} assume 5 == main_~result~0; {25#false} is VALID [2020-07-28 19:11:34,595 INFO L280 TraceCheckUtils]: 8: Hoare triple {25#false} assume !false; {25#false} is VALID [2020-07-28 19:11:34,596 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:11:34,597 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1050119168] [2020-07-28 19:11:34,598 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:11:34,598 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-28 19:11:34,600 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [442167300] [2020-07-28 19:11:34,607 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 9 [2020-07-28 19:11:34,610 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:34,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-28 19:11:34,638 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:34,639 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-28 19:11:34,639 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:11:34,648 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-28 19:11:34,649 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-28 19:11:34,652 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 5 states. [2020-07-28 19:11:34,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:34,858 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2020-07-28 19:11:34,858 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 19:11:34,859 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 9 [2020-07-28 19:11:34,859 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:34,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:11:34,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 34 transitions. [2020-07-28 19:11:34,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 19:11:34,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 34 transitions. [2020-07-28 19:11:34,876 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 34 transitions. [2020-07-28 19:11:34,932 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:34,944 INFO L225 Difference]: With dead ends: 30 [2020-07-28 19:11:34,944 INFO L226 Difference]: Without dead ends: 20 [2020-07-28 19:11:34,949 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-28 19:11:34,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2020-07-28 19:11:34,989 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 20. [2020-07-28 19:11:34,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:34,990 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:34,991 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:34,991 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:34,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:34,997 INFO L93 Difference]: Finished difference Result 20 states and 22 transitions. [2020-07-28 19:11:34,997 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2020-07-28 19:11:34,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:34,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:34,998 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:34,999 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:35,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:35,003 INFO L93 Difference]: Finished difference Result 20 states and 22 transitions. [2020-07-28 19:11:35,003 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2020-07-28 19:11:35,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:35,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:35,004 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:35,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:35,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-28 19:11:35,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 22 transitions. [2020-07-28 19:11:35,009 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 22 transitions. Word has length 9 [2020-07-28 19:11:35,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:35,010 INFO L479 AbstractCegarLoop]: Abstraction has 20 states and 22 transitions. [2020-07-28 19:11:35,010 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-28 19:11:35,011 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2020-07-28 19:11:35,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2020-07-28 19:11:35,012 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:35,012 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:35,012 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-28 19:11:35,013 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:35,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:35,013 INFO L82 PathProgramCache]: Analyzing trace with hash -131148366, now seen corresponding path program 1 times [2020-07-28 19:11:35,014 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:11:35,014 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1328803088] [2020-07-28 19:11:35,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:11:35,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:35,065 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:11:35,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:35,137 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:35,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:35,205 INFO L280 TraceCheckUtils]: 0: Hoare triple {137#true} ~x := #in~x; {156#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:35,206 INFO L280 TraceCheckUtils]: 1: Hoare triple {156#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {157#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:35,208 INFO L280 TraceCheckUtils]: 2: Hoare triple {157#(= 0 |id2_#in~x|)} assume true; {157#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:35,210 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {157#(= 0 |id2_#in~x|)} {150#(= |id_#in~x| id_~x)} #36#return; {155#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:35,211 INFO L280 TraceCheckUtils]: 0: Hoare triple {137#true} ~x := #in~x; {150#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,212 INFO L280 TraceCheckUtils]: 1: Hoare triple {150#(= |id_#in~x| id_~x)} assume !(0 == ~x); {150#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,213 INFO L263 TraceCheckUtils]: 2: Hoare triple {150#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {137#true} is VALID [2020-07-28 19:11:35,215 INFO L280 TraceCheckUtils]: 3: Hoare triple {137#true} ~x := #in~x; {156#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:35,216 INFO L280 TraceCheckUtils]: 4: Hoare triple {156#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {157#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:35,217 INFO L280 TraceCheckUtils]: 5: Hoare triple {157#(= 0 |id2_#in~x|)} assume true; {157#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:35,220 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {157#(= 0 |id2_#in~x|)} {150#(= |id_#in~x| id_~x)} #36#return; {155#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:35,222 INFO L280 TraceCheckUtils]: 7: Hoare triple {155#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {155#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:35,223 INFO L280 TraceCheckUtils]: 8: Hoare triple {155#(<= |id_#in~x| 1)} assume true; {155#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:35,225 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {155#(<= |id_#in~x| 1)} {139#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {138#false} is VALID [2020-07-28 19:11:35,228 INFO L280 TraceCheckUtils]: 0: Hoare triple {137#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5; {139#(<= 5 ULTIMATE.start_main_~input~0)} is VALID [2020-07-28 19:11:35,228 INFO L263 TraceCheckUtils]: 1: Hoare triple {139#(<= 5 ULTIMATE.start_main_~input~0)} call main_#t~ret2 := id(main_~input~0); {137#true} is VALID [2020-07-28 19:11:35,230 INFO L280 TraceCheckUtils]: 2: Hoare triple {137#true} ~x := #in~x; {150#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,231 INFO L280 TraceCheckUtils]: 3: Hoare triple {150#(= |id_#in~x| id_~x)} assume !(0 == ~x); {150#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,231 INFO L263 TraceCheckUtils]: 4: Hoare triple {150#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {137#true} is VALID [2020-07-28 19:11:35,232 INFO L280 TraceCheckUtils]: 5: Hoare triple {137#true} ~x := #in~x; {156#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:35,233 INFO L280 TraceCheckUtils]: 6: Hoare triple {156#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {157#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:35,235 INFO L280 TraceCheckUtils]: 7: Hoare triple {157#(= 0 |id2_#in~x|)} assume true; {157#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:35,237 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {157#(= 0 |id2_#in~x|)} {150#(= |id_#in~x| id_~x)} #36#return; {155#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:35,238 INFO L280 TraceCheckUtils]: 9: Hoare triple {155#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {155#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:35,239 INFO L280 TraceCheckUtils]: 10: Hoare triple {155#(<= |id_#in~x| 1)} assume true; {155#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:35,241 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {155#(<= |id_#in~x| 1)} {139#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {138#false} is VALID [2020-07-28 19:11:35,241 INFO L280 TraceCheckUtils]: 12: Hoare triple {138#false} assume -2147483648 <= main_#t~ret2 && main_#t~ret2 <= 2147483647;main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {138#false} is VALID [2020-07-28 19:11:35,242 INFO L280 TraceCheckUtils]: 13: Hoare triple {138#false} assume 5 == main_~result~0; {138#false} is VALID [2020-07-28 19:11:35,242 INFO L280 TraceCheckUtils]: 14: Hoare triple {138#false} assume !false; {138#false} is VALID [2020-07-28 19:11:35,244 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:11:35,244 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1328803088] [2020-07-28 19:11:35,244 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:11:35,244 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-28 19:11:35,245 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1188055821] [2020-07-28 19:11:35,247 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 15 [2020-07-28 19:11:35,247 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:35,247 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-28 19:11:35,270 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:35,270 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-28 19:11:35,270 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:11:35,271 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-28 19:11:35,271 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-28 19:11:35,271 INFO L87 Difference]: Start difference. First operand 20 states and 22 transitions. Second operand 7 states. [2020-07-28 19:11:35,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:35,504 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2020-07-28 19:11:35,504 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 19:11:35,505 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 15 [2020-07-28 19:11:35,505 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:35,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:11:35,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 29 transitions. [2020-07-28 19:11:35,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:11:35,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 29 transitions. [2020-07-28 19:11:35,513 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 29 transitions. [2020-07-28 19:11:35,566 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:35,569 INFO L225 Difference]: With dead ends: 29 [2020-07-28 19:11:35,569 INFO L226 Difference]: Without dead ends: 25 [2020-07-28 19:11:35,570 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2020-07-28 19:11:35,571 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2020-07-28 19:11:35,581 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 23. [2020-07-28 19:11:35,581 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:35,581 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 23 states. [2020-07-28 19:11:35,581 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 23 states. [2020-07-28 19:11:35,582 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 23 states. [2020-07-28 19:11:35,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:35,586 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2020-07-28 19:11:35,586 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2020-07-28 19:11:35,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:35,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:35,587 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 25 states. [2020-07-28 19:11:35,588 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 25 states. [2020-07-28 19:11:35,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:35,591 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2020-07-28 19:11:35,592 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2020-07-28 19:11:35,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:35,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:35,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:35,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:35,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-28 19:11:35,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 25 transitions. [2020-07-28 19:11:35,597 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 25 transitions. Word has length 15 [2020-07-28 19:11:35,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:35,597 INFO L479 AbstractCegarLoop]: Abstraction has 23 states and 25 transitions. [2020-07-28 19:11:35,598 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-28 19:11:35,598 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2020-07-28 19:11:35,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-28 19:11:35,599 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:35,599 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:35,600 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-28 19:11:35,600 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:35,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:35,601 INFO L82 PathProgramCache]: Analyzing trace with hash -132605643, now seen corresponding path program 1 times [2020-07-28 19:11:35,601 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:11:35,601 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1486550164] [2020-07-28 19:11:35,602 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:11:35,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:35,643 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:11:35,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:35,711 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:35,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:35,756 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:35,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:35,780 INFO L280 TraceCheckUtils]: 0: Hoare triple {276#true} ~x := #in~x; {295#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,782 INFO L280 TraceCheckUtils]: 1: Hoare triple {295#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {313#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:35,782 INFO L280 TraceCheckUtils]: 2: Hoare triple {313#(= 0 |id_#in~x|)} assume true; {313#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:35,784 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {313#(= 0 |id_#in~x|)} {307#(= id2_~x |id2_#in~x|)} #32#return; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,785 INFO L280 TraceCheckUtils]: 0: Hoare triple {276#true} ~x := #in~x; {307#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:35,786 INFO L280 TraceCheckUtils]: 1: Hoare triple {307#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {307#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:35,786 INFO L263 TraceCheckUtils]: 2: Hoare triple {307#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {276#true} is VALID [2020-07-28 19:11:35,787 INFO L280 TraceCheckUtils]: 3: Hoare triple {276#true} ~x := #in~x; {295#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,788 INFO L280 TraceCheckUtils]: 4: Hoare triple {295#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {313#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:35,789 INFO L280 TraceCheckUtils]: 5: Hoare triple {313#(= 0 |id_#in~x|)} assume true; {313#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:35,791 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {313#(= 0 |id_#in~x|)} {307#(= id2_~x |id2_#in~x|)} #32#return; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,792 INFO L280 TraceCheckUtils]: 7: Hoare triple {312#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,793 INFO L280 TraceCheckUtils]: 8: Hoare triple {312#(<= |id2_#in~x| 1)} assume true; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,795 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {312#(<= |id2_#in~x| 1)} {295#(= |id_#in~x| id_~x)} #36#return; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:35,796 INFO L280 TraceCheckUtils]: 0: Hoare triple {276#true} ~x := #in~x; {295#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,797 INFO L280 TraceCheckUtils]: 1: Hoare triple {295#(= |id_#in~x| id_~x)} assume !(0 == ~x); {295#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,798 INFO L263 TraceCheckUtils]: 2: Hoare triple {295#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {276#true} is VALID [2020-07-28 19:11:35,799 INFO L280 TraceCheckUtils]: 3: Hoare triple {276#true} ~x := #in~x; {307#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:35,800 INFO L280 TraceCheckUtils]: 4: Hoare triple {307#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {307#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:35,800 INFO L263 TraceCheckUtils]: 5: Hoare triple {307#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {276#true} is VALID [2020-07-28 19:11:35,801 INFO L280 TraceCheckUtils]: 6: Hoare triple {276#true} ~x := #in~x; {295#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,802 INFO L280 TraceCheckUtils]: 7: Hoare triple {295#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {313#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:35,803 INFO L280 TraceCheckUtils]: 8: Hoare triple {313#(= 0 |id_#in~x|)} assume true; {313#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:35,805 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {313#(= 0 |id_#in~x|)} {307#(= id2_~x |id2_#in~x|)} #32#return; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,805 INFO L280 TraceCheckUtils]: 10: Hoare triple {312#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,806 INFO L280 TraceCheckUtils]: 11: Hoare triple {312#(<= |id2_#in~x| 1)} assume true; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,808 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {312#(<= |id2_#in~x| 1)} {295#(= |id_#in~x| id_~x)} #36#return; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:35,809 INFO L280 TraceCheckUtils]: 13: Hoare triple {306#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:35,810 INFO L280 TraceCheckUtils]: 14: Hoare triple {306#(<= |id_#in~x| 2)} assume true; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:35,812 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {306#(<= |id_#in~x| 2)} {278#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {277#false} is VALID [2020-07-28 19:11:35,814 INFO L280 TraceCheckUtils]: 0: Hoare triple {276#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5; {278#(<= 5 ULTIMATE.start_main_~input~0)} is VALID [2020-07-28 19:11:35,814 INFO L263 TraceCheckUtils]: 1: Hoare triple {278#(<= 5 ULTIMATE.start_main_~input~0)} call main_#t~ret2 := id(main_~input~0); {276#true} is VALID [2020-07-28 19:11:35,815 INFO L280 TraceCheckUtils]: 2: Hoare triple {276#true} ~x := #in~x; {295#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,816 INFO L280 TraceCheckUtils]: 3: Hoare triple {295#(= |id_#in~x| id_~x)} assume !(0 == ~x); {295#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,817 INFO L263 TraceCheckUtils]: 4: Hoare triple {295#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {276#true} is VALID [2020-07-28 19:11:35,817 INFO L280 TraceCheckUtils]: 5: Hoare triple {276#true} ~x := #in~x; {307#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:35,818 INFO L280 TraceCheckUtils]: 6: Hoare triple {307#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {307#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:35,819 INFO L263 TraceCheckUtils]: 7: Hoare triple {307#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {276#true} is VALID [2020-07-28 19:11:35,820 INFO L280 TraceCheckUtils]: 8: Hoare triple {276#true} ~x := #in~x; {295#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:35,821 INFO L280 TraceCheckUtils]: 9: Hoare triple {295#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {313#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:35,822 INFO L280 TraceCheckUtils]: 10: Hoare triple {313#(= 0 |id_#in~x|)} assume true; {313#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:35,823 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {313#(= 0 |id_#in~x|)} {307#(= id2_~x |id2_#in~x|)} #32#return; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,824 INFO L280 TraceCheckUtils]: 12: Hoare triple {312#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,825 INFO L280 TraceCheckUtils]: 13: Hoare triple {312#(<= |id2_#in~x| 1)} assume true; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:35,827 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {312#(<= |id2_#in~x| 1)} {295#(= |id_#in~x| id_~x)} #36#return; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:35,828 INFO L280 TraceCheckUtils]: 15: Hoare triple {306#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:35,829 INFO L280 TraceCheckUtils]: 16: Hoare triple {306#(<= |id_#in~x| 2)} assume true; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:35,831 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {306#(<= |id_#in~x| 2)} {278#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {277#false} is VALID [2020-07-28 19:11:35,831 INFO L280 TraceCheckUtils]: 18: Hoare triple {277#false} assume -2147483648 <= main_#t~ret2 && main_#t~ret2 <= 2147483647;main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {277#false} is VALID [2020-07-28 19:11:35,832 INFO L280 TraceCheckUtils]: 19: Hoare triple {277#false} assume 5 == main_~result~0; {277#false} is VALID [2020-07-28 19:11:35,832 INFO L280 TraceCheckUtils]: 20: Hoare triple {277#false} assume !false; {277#false} is VALID [2020-07-28 19:11:35,834 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-28 19:11:35,834 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1486550164] [2020-07-28 19:11:35,834 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1088768742] [2020-07-28 19:11:35,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:11:35,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:35,881 INFO L263 TraceCheckSpWp]: Trace formula consists of 52 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:11:35,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:35,901 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:36,292 INFO L280 TraceCheckUtils]: 0: Hoare triple {276#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5; {278#(<= 5 ULTIMATE.start_main_~input~0)} is VALID [2020-07-28 19:11:36,292 INFO L263 TraceCheckUtils]: 1: Hoare triple {278#(<= 5 ULTIMATE.start_main_~input~0)} call main_#t~ret2 := id(main_~input~0); {276#true} is VALID [2020-07-28 19:11:36,293 INFO L280 TraceCheckUtils]: 2: Hoare triple {276#true} ~x := #in~x; {323#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:36,294 INFO L280 TraceCheckUtils]: 3: Hoare triple {323#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {323#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:36,295 INFO L263 TraceCheckUtils]: 4: Hoare triple {323#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {276#true} is VALID [2020-07-28 19:11:36,296 INFO L280 TraceCheckUtils]: 5: Hoare triple {276#true} ~x := #in~x; {333#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:36,297 INFO L280 TraceCheckUtils]: 6: Hoare triple {333#(<= |id2_#in~x| id2_~x)} assume !(0 == ~x); {333#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:36,297 INFO L263 TraceCheckUtils]: 7: Hoare triple {333#(<= |id2_#in~x| id2_~x)} call #t~ret1 := id(~x - 1); {276#true} is VALID [2020-07-28 19:11:36,298 INFO L280 TraceCheckUtils]: 8: Hoare triple {276#true} ~x := #in~x; {323#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:36,299 INFO L280 TraceCheckUtils]: 9: Hoare triple {323#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {346#(<= |id_#in~x| 0)} is VALID [2020-07-28 19:11:36,300 INFO L280 TraceCheckUtils]: 10: Hoare triple {346#(<= |id_#in~x| 0)} assume true; {346#(<= |id_#in~x| 0)} is VALID [2020-07-28 19:11:36,301 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {346#(<= |id_#in~x| 0)} {333#(<= |id2_#in~x| id2_~x)} #32#return; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:36,302 INFO L280 TraceCheckUtils]: 12: Hoare triple {312#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:36,304 INFO L280 TraceCheckUtils]: 13: Hoare triple {312#(<= |id2_#in~x| 1)} assume true; {312#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:36,306 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {312#(<= |id2_#in~x| 1)} {323#(<= |id_#in~x| id_~x)} #36#return; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:36,307 INFO L280 TraceCheckUtils]: 15: Hoare triple {306#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:36,308 INFO L280 TraceCheckUtils]: 16: Hoare triple {306#(<= |id_#in~x| 2)} assume true; {306#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:36,310 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {306#(<= |id_#in~x| 2)} {278#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {277#false} is VALID [2020-07-28 19:11:36,310 INFO L280 TraceCheckUtils]: 18: Hoare triple {277#false} assume -2147483648 <= main_#t~ret2 && main_#t~ret2 <= 2147483647;main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {277#false} is VALID [2020-07-28 19:11:36,311 INFO L280 TraceCheckUtils]: 19: Hoare triple {277#false} assume 5 == main_~result~0; {277#false} is VALID [2020-07-28 19:11:36,311 INFO L280 TraceCheckUtils]: 20: Hoare triple {277#false} assume !false; {277#false} is VALID [2020-07-28 19:11:36,312 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-28 19:11:36,313 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:36,313 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2020-07-28 19:11:36,314 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [803180205] [2020-07-28 19:11:36,314 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 21 [2020-07-28 19:11:36,315 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:36,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-28 19:11:36,363 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:36,363 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-28 19:11:36,364 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:11:36,364 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-28 19:11:36,364 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-28 19:11:36,364 INFO L87 Difference]: Start difference. First operand 23 states and 25 transitions. Second operand 11 states. [2020-07-28 19:11:36,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:36,640 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2020-07-28 19:11:36,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-28 19:11:36,640 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 21 [2020-07-28 19:11:36,640 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:36,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 19:11:36,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2020-07-28 19:11:36,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 19:11:36,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2020-07-28 19:11:36,646 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 32 transitions. [2020-07-28 19:11:36,692 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:36,694 INFO L225 Difference]: With dead ends: 35 [2020-07-28 19:11:36,694 INFO L226 Difference]: Without dead ends: 31 [2020-07-28 19:11:36,695 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2020-07-28 19:11:36,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2020-07-28 19:11:36,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 26. [2020-07-28 19:11:36,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:36,705 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 26 states. [2020-07-28 19:11:36,705 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 26 states. [2020-07-28 19:11:36,705 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 26 states. [2020-07-28 19:11:36,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:36,709 INFO L93 Difference]: Finished difference Result 31 states and 33 transitions. [2020-07-28 19:11:36,709 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2020-07-28 19:11:36,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:36,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:36,710 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 31 states. [2020-07-28 19:11:36,710 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 31 states. [2020-07-28 19:11:36,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:36,714 INFO L93 Difference]: Finished difference Result 31 states and 33 transitions. [2020-07-28 19:11:36,714 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2020-07-28 19:11:36,715 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:36,715 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:36,715 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:36,715 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:36,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-28 19:11:36,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 28 transitions. [2020-07-28 19:11:36,718 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 28 transitions. Word has length 21 [2020-07-28 19:11:36,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:36,719 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 28 transitions. [2020-07-28 19:11:36,719 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-28 19:11:36,719 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2020-07-28 19:11:36,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-28 19:11:36,720 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:36,720 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:36,934 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2020-07-28 19:11:36,936 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:36,937 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:36,937 INFO L82 PathProgramCache]: Analyzing trace with hash -614490246, now seen corresponding path program 1 times [2020-07-28 19:11:36,938 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:11:36,938 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1337983440] [2020-07-28 19:11:36,939 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:11:36,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:37,018 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:11:37,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:37,065 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:37,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:37,113 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:37,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:37,142 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:37,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:37,167 INFO L280 TraceCheckUtils]: 0: Hoare triple {518#true} ~x := #in~x; {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,168 INFO L280 TraceCheckUtils]: 1: Hoare triple {561#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,169 INFO L280 TraceCheckUtils]: 2: Hoare triple {578#(= 0 |id2_#in~x|)} assume true; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,170 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {578#(= 0 |id2_#in~x|)} {543#(= |id_#in~x| id_~x)} #36#return; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,171 INFO L280 TraceCheckUtils]: 0: Hoare triple {518#true} ~x := #in~x; {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,172 INFO L280 TraceCheckUtils]: 1: Hoare triple {543#(= |id_#in~x| id_~x)} assume !(0 == ~x); {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,173 INFO L263 TraceCheckUtils]: 2: Hoare triple {543#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,173 INFO L280 TraceCheckUtils]: 3: Hoare triple {518#true} ~x := #in~x; {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,174 INFO L280 TraceCheckUtils]: 4: Hoare triple {561#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,175 INFO L280 TraceCheckUtils]: 5: Hoare triple {578#(= 0 |id2_#in~x|)} assume true; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,177 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {578#(= 0 |id2_#in~x|)} {543#(= |id_#in~x| id_~x)} #36#return; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,178 INFO L280 TraceCheckUtils]: 7: Hoare triple {577#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,179 INFO L280 TraceCheckUtils]: 8: Hoare triple {577#(<= |id_#in~x| 1)} assume true; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,180 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {577#(<= |id_#in~x| 1)} {561#(= id2_~x |id2_#in~x|)} #32#return; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,182 INFO L280 TraceCheckUtils]: 0: Hoare triple {518#true} ~x := #in~x; {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,183 INFO L280 TraceCheckUtils]: 1: Hoare triple {561#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,183 INFO L263 TraceCheckUtils]: 2: Hoare triple {561#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,184 INFO L280 TraceCheckUtils]: 3: Hoare triple {518#true} ~x := #in~x; {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,185 INFO L280 TraceCheckUtils]: 4: Hoare triple {543#(= |id_#in~x| id_~x)} assume !(0 == ~x); {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,185 INFO L263 TraceCheckUtils]: 5: Hoare triple {543#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,186 INFO L280 TraceCheckUtils]: 6: Hoare triple {518#true} ~x := #in~x; {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,187 INFO L280 TraceCheckUtils]: 7: Hoare triple {561#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,188 INFO L280 TraceCheckUtils]: 8: Hoare triple {578#(= 0 |id2_#in~x|)} assume true; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,189 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {578#(= 0 |id2_#in~x|)} {543#(= |id_#in~x| id_~x)} #36#return; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,190 INFO L280 TraceCheckUtils]: 10: Hoare triple {577#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,191 INFO L280 TraceCheckUtils]: 11: Hoare triple {577#(<= |id_#in~x| 1)} assume true; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,193 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {577#(<= |id_#in~x| 1)} {561#(= id2_~x |id2_#in~x|)} #32#return; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,194 INFO L280 TraceCheckUtils]: 13: Hoare triple {572#(<= |id2_#in~x| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,195 INFO L280 TraceCheckUtils]: 14: Hoare triple {572#(<= |id2_#in~x| 2)} assume true; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,196 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {572#(<= |id2_#in~x| 2)} {543#(= |id_#in~x| id_~x)} #36#return; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,198 INFO L280 TraceCheckUtils]: 0: Hoare triple {518#true} ~x := #in~x; {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,199 INFO L280 TraceCheckUtils]: 1: Hoare triple {543#(= |id_#in~x| id_~x)} assume !(0 == ~x); {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,200 INFO L263 TraceCheckUtils]: 2: Hoare triple {543#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,200 INFO L280 TraceCheckUtils]: 3: Hoare triple {518#true} ~x := #in~x; {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,201 INFO L280 TraceCheckUtils]: 4: Hoare triple {561#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,201 INFO L263 TraceCheckUtils]: 5: Hoare triple {561#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,202 INFO L280 TraceCheckUtils]: 6: Hoare triple {518#true} ~x := #in~x; {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,203 INFO L280 TraceCheckUtils]: 7: Hoare triple {543#(= |id_#in~x| id_~x)} assume !(0 == ~x); {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,203 INFO L263 TraceCheckUtils]: 8: Hoare triple {543#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,204 INFO L280 TraceCheckUtils]: 9: Hoare triple {518#true} ~x := #in~x; {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,205 INFO L280 TraceCheckUtils]: 10: Hoare triple {561#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,206 INFO L280 TraceCheckUtils]: 11: Hoare triple {578#(= 0 |id2_#in~x|)} assume true; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,207 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {578#(= 0 |id2_#in~x|)} {543#(= |id_#in~x| id_~x)} #36#return; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,208 INFO L280 TraceCheckUtils]: 13: Hoare triple {577#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,209 INFO L280 TraceCheckUtils]: 14: Hoare triple {577#(<= |id_#in~x| 1)} assume true; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,210 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {577#(<= |id_#in~x| 1)} {561#(= id2_~x |id2_#in~x|)} #32#return; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,211 INFO L280 TraceCheckUtils]: 16: Hoare triple {572#(<= |id2_#in~x| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,212 INFO L280 TraceCheckUtils]: 17: Hoare triple {572#(<= |id2_#in~x| 2)} assume true; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,214 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {572#(<= |id2_#in~x| 2)} {543#(= |id_#in~x| id_~x)} #36#return; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,215 INFO L280 TraceCheckUtils]: 19: Hoare triple {560#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,215 INFO L280 TraceCheckUtils]: 20: Hoare triple {560#(<= |id_#in~x| 3)} assume true; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,217 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {560#(<= |id_#in~x| 3)} {520#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {519#false} is VALID [2020-07-28 19:11:37,219 INFO L280 TraceCheckUtils]: 0: Hoare triple {518#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5; {520#(<= 5 ULTIMATE.start_main_~input~0)} is VALID [2020-07-28 19:11:37,219 INFO L263 TraceCheckUtils]: 1: Hoare triple {520#(<= 5 ULTIMATE.start_main_~input~0)} call main_#t~ret2 := id(main_~input~0); {518#true} is VALID [2020-07-28 19:11:37,220 INFO L280 TraceCheckUtils]: 2: Hoare triple {518#true} ~x := #in~x; {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,221 INFO L280 TraceCheckUtils]: 3: Hoare triple {543#(= |id_#in~x| id_~x)} assume !(0 == ~x); {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,221 INFO L263 TraceCheckUtils]: 4: Hoare triple {543#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,222 INFO L280 TraceCheckUtils]: 5: Hoare triple {518#true} ~x := #in~x; {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,223 INFO L280 TraceCheckUtils]: 6: Hoare triple {561#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,223 INFO L263 TraceCheckUtils]: 7: Hoare triple {561#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,224 INFO L280 TraceCheckUtils]: 8: Hoare triple {518#true} ~x := #in~x; {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,224 INFO L280 TraceCheckUtils]: 9: Hoare triple {543#(= |id_#in~x| id_~x)} assume !(0 == ~x); {543#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,225 INFO L263 TraceCheckUtils]: 10: Hoare triple {543#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,225 INFO L280 TraceCheckUtils]: 11: Hoare triple {518#true} ~x := #in~x; {561#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:37,226 INFO L280 TraceCheckUtils]: 12: Hoare triple {561#(= id2_~x |id2_#in~x|)} assume 0 == ~x;#res := 0; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,227 INFO L280 TraceCheckUtils]: 13: Hoare triple {578#(= 0 |id2_#in~x|)} assume true; {578#(= 0 |id2_#in~x|)} is VALID [2020-07-28 19:11:37,228 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {578#(= 0 |id2_#in~x|)} {543#(= |id_#in~x| id_~x)} #36#return; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,229 INFO L280 TraceCheckUtils]: 15: Hoare triple {577#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,230 INFO L280 TraceCheckUtils]: 16: Hoare triple {577#(<= |id_#in~x| 1)} assume true; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,232 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {577#(<= |id_#in~x| 1)} {561#(= id2_~x |id2_#in~x|)} #32#return; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,253 INFO L280 TraceCheckUtils]: 18: Hoare triple {572#(<= |id2_#in~x| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,257 INFO L280 TraceCheckUtils]: 19: Hoare triple {572#(<= |id2_#in~x| 2)} assume true; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,260 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {572#(<= |id2_#in~x| 2)} {543#(= |id_#in~x| id_~x)} #36#return; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,262 INFO L280 TraceCheckUtils]: 21: Hoare triple {560#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,264 INFO L280 TraceCheckUtils]: 22: Hoare triple {560#(<= |id_#in~x| 3)} assume true; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,265 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {560#(<= |id_#in~x| 3)} {520#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {519#false} is VALID [2020-07-28 19:11:37,266 INFO L280 TraceCheckUtils]: 24: Hoare triple {519#false} assume -2147483648 <= main_#t~ret2 && main_#t~ret2 <= 2147483647;main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {519#false} is VALID [2020-07-28 19:11:37,266 INFO L280 TraceCheckUtils]: 25: Hoare triple {519#false} assume 5 == main_~result~0; {519#false} is VALID [2020-07-28 19:11:37,266 INFO L280 TraceCheckUtils]: 26: Hoare triple {519#false} assume !false; {519#false} is VALID [2020-07-28 19:11:37,268 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-28 19:11:37,268 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1337983440] [2020-07-28 19:11:37,269 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [546765827] [2020-07-28 19:11:37,269 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:11:37,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:37,296 INFO L263 TraceCheckSpWp]: Trace formula consists of 66 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-28 19:11:37,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:37,309 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:37,667 INFO L280 TraceCheckUtils]: 0: Hoare triple {518#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5; {520#(<= 5 ULTIMATE.start_main_~input~0)} is VALID [2020-07-28 19:11:37,667 INFO L263 TraceCheckUtils]: 1: Hoare triple {520#(<= 5 ULTIMATE.start_main_~input~0)} call main_#t~ret2 := id(main_~input~0); {518#true} is VALID [2020-07-28 19:11:37,668 INFO L280 TraceCheckUtils]: 2: Hoare triple {518#true} ~x := #in~x; {588#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,668 INFO L280 TraceCheckUtils]: 3: Hoare triple {588#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {588#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,669 INFO L263 TraceCheckUtils]: 4: Hoare triple {588#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,669 INFO L280 TraceCheckUtils]: 5: Hoare triple {518#true} ~x := #in~x; {598#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:37,671 INFO L280 TraceCheckUtils]: 6: Hoare triple {598#(<= |id2_#in~x| id2_~x)} assume !(0 == ~x); {598#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:37,672 INFO L263 TraceCheckUtils]: 7: Hoare triple {598#(<= |id2_#in~x| id2_~x)} call #t~ret1 := id(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,673 INFO L280 TraceCheckUtils]: 8: Hoare triple {518#true} ~x := #in~x; {588#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,673 INFO L280 TraceCheckUtils]: 9: Hoare triple {588#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {588#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:37,673 INFO L263 TraceCheckUtils]: 10: Hoare triple {588#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {518#true} is VALID [2020-07-28 19:11:37,674 INFO L280 TraceCheckUtils]: 11: Hoare triple {518#true} ~x := #in~x; {598#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:37,678 INFO L280 TraceCheckUtils]: 12: Hoare triple {598#(<= |id2_#in~x| id2_~x)} assume 0 == ~x;#res := 0; {620#(<= |id2_#in~x| 0)} is VALID [2020-07-28 19:11:37,679 INFO L280 TraceCheckUtils]: 13: Hoare triple {620#(<= |id2_#in~x| 0)} assume true; {620#(<= |id2_#in~x| 0)} is VALID [2020-07-28 19:11:37,681 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {620#(<= |id2_#in~x| 0)} {588#(<= |id_#in~x| id_~x)} #36#return; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,682 INFO L280 TraceCheckUtils]: 15: Hoare triple {577#(<= |id_#in~x| 1)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,683 INFO L280 TraceCheckUtils]: 16: Hoare triple {577#(<= |id_#in~x| 1)} assume true; {577#(<= |id_#in~x| 1)} is VALID [2020-07-28 19:11:37,685 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {577#(<= |id_#in~x| 1)} {598#(<= |id2_#in~x| id2_~x)} #32#return; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,686 INFO L280 TraceCheckUtils]: 18: Hoare triple {572#(<= |id2_#in~x| 2)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,686 INFO L280 TraceCheckUtils]: 19: Hoare triple {572#(<= |id2_#in~x| 2)} assume true; {572#(<= |id2_#in~x| 2)} is VALID [2020-07-28 19:11:37,687 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {572#(<= |id2_#in~x| 2)} {588#(<= |id_#in~x| id_~x)} #36#return; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,688 INFO L280 TraceCheckUtils]: 21: Hoare triple {560#(<= |id_#in~x| 3)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,688 INFO L280 TraceCheckUtils]: 22: Hoare triple {560#(<= |id_#in~x| 3)} assume true; {560#(<= |id_#in~x| 3)} is VALID [2020-07-28 19:11:37,689 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {560#(<= |id_#in~x| 3)} {520#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {519#false} is VALID [2020-07-28 19:11:37,689 INFO L280 TraceCheckUtils]: 24: Hoare triple {519#false} assume -2147483648 <= main_#t~ret2 && main_#t~ret2 <= 2147483647;main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {519#false} is VALID [2020-07-28 19:11:37,689 INFO L280 TraceCheckUtils]: 25: Hoare triple {519#false} assume 5 == main_~result~0; {519#false} is VALID [2020-07-28 19:11:37,690 INFO L280 TraceCheckUtils]: 26: Hoare triple {519#false} assume !false; {519#false} is VALID [2020-07-28 19:11:37,690 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-28 19:11:37,691 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:37,691 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2020-07-28 19:11:37,691 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [843749327] [2020-07-28 19:11:37,692 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 27 [2020-07-28 19:11:37,693 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:37,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 19:11:37,751 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:37,751 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 19:11:37,751 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:11:37,752 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 19:11:37,752 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:11:37,752 INFO L87 Difference]: Start difference. First operand 26 states and 28 transitions. Second operand 12 states. [2020-07-28 19:11:38,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:38,074 INFO L93 Difference]: Finished difference Result 41 states and 43 transitions. [2020-07-28 19:11:38,074 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-28 19:11:38,075 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 27 [2020-07-28 19:11:38,075 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:38,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:11:38,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 35 transitions. [2020-07-28 19:11:38,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:11:38,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 35 transitions. [2020-07-28 19:11:38,080 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 35 transitions. [2020-07-28 19:11:38,131 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:38,134 INFO L225 Difference]: With dead ends: 41 [2020-07-28 19:11:38,134 INFO L226 Difference]: Without dead ends: 37 [2020-07-28 19:11:38,135 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=188, Unknown=0, NotChecked=0, Total=240 [2020-07-28 19:11:38,135 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2020-07-28 19:11:38,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 29. [2020-07-28 19:11:38,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:38,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 29 states. [2020-07-28 19:11:38,147 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 29 states. [2020-07-28 19:11:38,147 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 29 states. [2020-07-28 19:11:38,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:38,151 INFO L93 Difference]: Finished difference Result 37 states and 39 transitions. [2020-07-28 19:11:38,152 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 39 transitions. [2020-07-28 19:11:38,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:38,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:38,158 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 37 states. [2020-07-28 19:11:38,158 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 37 states. [2020-07-28 19:11:38,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:38,164 INFO L93 Difference]: Finished difference Result 37 states and 39 transitions. [2020-07-28 19:11:38,164 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 39 transitions. [2020-07-28 19:11:38,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:38,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:38,167 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:38,167 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:38,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2020-07-28 19:11:38,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 31 transitions. [2020-07-28 19:11:38,169 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 31 transitions. Word has length 27 [2020-07-28 19:11:38,169 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:38,169 INFO L479 AbstractCegarLoop]: Abstraction has 29 states and 31 transitions. [2020-07-28 19:11:38,170 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 19:11:38,170 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2020-07-28 19:11:38,171 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-28 19:11:38,171 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:38,171 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:38,382 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:11:38,382 INFO L427 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:38,382 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:38,383 INFO L82 PathProgramCache]: Analyzing trace with hash -2127867459, now seen corresponding path program 2 times [2020-07-28 19:11:38,383 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:11:38,384 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [661829206] [2020-07-28 19:11:38,384 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:11:38,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:38,415 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2020-07-28 19:11:38,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:38,452 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:38,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:38,491 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:38,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:38,518 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:38,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:38,541 INFO L375 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2020-07-28 19:11:38,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:38,561 INFO L280 TraceCheckUtils]: 0: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,562 INFO L280 TraceCheckUtils]: 1: Hoare triple {855#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,563 INFO L280 TraceCheckUtils]: 2: Hoare triple {913#(= 0 |id_#in~x|)} assume true; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,564 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {913#(= 0 |id_#in~x|)} {879#(= id2_~x |id2_#in~x|)} #32#return; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,565 INFO L280 TraceCheckUtils]: 0: Hoare triple {824#true} ~x := #in~x; {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,565 INFO L280 TraceCheckUtils]: 1: Hoare triple {879#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,566 INFO L263 TraceCheckUtils]: 2: Hoare triple {879#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,566 INFO L280 TraceCheckUtils]: 3: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,567 INFO L280 TraceCheckUtils]: 4: Hoare triple {855#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,568 INFO L280 TraceCheckUtils]: 5: Hoare triple {913#(= 0 |id_#in~x|)} assume true; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,570 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {913#(= 0 |id_#in~x|)} {879#(= id2_~x |id2_#in~x|)} #32#return; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,571 INFO L280 TraceCheckUtils]: 7: Hoare triple {912#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,571 INFO L280 TraceCheckUtils]: 8: Hoare triple {912#(<= |id2_#in~x| 1)} assume true; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,573 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {912#(<= |id2_#in~x| 1)} {855#(= |id_#in~x| id_~x)} #36#return; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,574 INFO L280 TraceCheckUtils]: 0: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,575 INFO L280 TraceCheckUtils]: 1: Hoare triple {855#(= |id_#in~x| id_~x)} assume !(0 == ~x); {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,575 INFO L263 TraceCheckUtils]: 2: Hoare triple {855#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,576 INFO L280 TraceCheckUtils]: 3: Hoare triple {824#true} ~x := #in~x; {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,577 INFO L280 TraceCheckUtils]: 4: Hoare triple {879#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,577 INFO L263 TraceCheckUtils]: 5: Hoare triple {879#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,578 INFO L280 TraceCheckUtils]: 6: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,579 INFO L280 TraceCheckUtils]: 7: Hoare triple {855#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,580 INFO L280 TraceCheckUtils]: 8: Hoare triple {913#(= 0 |id_#in~x|)} assume true; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,582 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {913#(= 0 |id_#in~x|)} {879#(= id2_~x |id2_#in~x|)} #32#return; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,582 INFO L280 TraceCheckUtils]: 10: Hoare triple {912#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,583 INFO L280 TraceCheckUtils]: 11: Hoare triple {912#(<= |id2_#in~x| 1)} assume true; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,585 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {912#(<= |id2_#in~x| 1)} {855#(= |id_#in~x| id_~x)} #36#return; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,585 INFO L280 TraceCheckUtils]: 13: Hoare triple {907#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,586 INFO L280 TraceCheckUtils]: 14: Hoare triple {907#(<= |id_#in~x| 2)} assume true; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,588 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {907#(<= |id_#in~x| 2)} {879#(= id2_~x |id2_#in~x|)} #32#return; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,589 INFO L280 TraceCheckUtils]: 0: Hoare triple {824#true} ~x := #in~x; {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,590 INFO L280 TraceCheckUtils]: 1: Hoare triple {879#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,590 INFO L263 TraceCheckUtils]: 2: Hoare triple {879#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,592 INFO L280 TraceCheckUtils]: 3: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,593 INFO L280 TraceCheckUtils]: 4: Hoare triple {855#(= |id_#in~x| id_~x)} assume !(0 == ~x); {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,593 INFO L263 TraceCheckUtils]: 5: Hoare triple {855#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,597 INFO L280 TraceCheckUtils]: 6: Hoare triple {824#true} ~x := #in~x; {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,601 INFO L280 TraceCheckUtils]: 7: Hoare triple {879#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,601 INFO L263 TraceCheckUtils]: 8: Hoare triple {879#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,602 INFO L280 TraceCheckUtils]: 9: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,603 INFO L280 TraceCheckUtils]: 10: Hoare triple {855#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,603 INFO L280 TraceCheckUtils]: 11: Hoare triple {913#(= 0 |id_#in~x|)} assume true; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,605 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {913#(= 0 |id_#in~x|)} {879#(= id2_~x |id2_#in~x|)} #32#return; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,606 INFO L280 TraceCheckUtils]: 13: Hoare triple {912#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,607 INFO L280 TraceCheckUtils]: 14: Hoare triple {912#(<= |id2_#in~x| 1)} assume true; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,609 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {912#(<= |id2_#in~x| 1)} {855#(= |id_#in~x| id_~x)} #36#return; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,610 INFO L280 TraceCheckUtils]: 16: Hoare triple {907#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,611 INFO L280 TraceCheckUtils]: 17: Hoare triple {907#(<= |id_#in~x| 2)} assume true; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,612 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {907#(<= |id_#in~x| 2)} {879#(= id2_~x |id2_#in~x|)} #32#return; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,613 INFO L280 TraceCheckUtils]: 19: Hoare triple {896#(<= |id2_#in~x| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,614 INFO L280 TraceCheckUtils]: 20: Hoare triple {896#(<= |id2_#in~x| 3)} assume true; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,616 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {896#(<= |id2_#in~x| 3)} {855#(= |id_#in~x| id_~x)} #36#return; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:38,618 INFO L280 TraceCheckUtils]: 0: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,619 INFO L280 TraceCheckUtils]: 1: Hoare triple {855#(= |id_#in~x| id_~x)} assume !(0 == ~x); {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,620 INFO L263 TraceCheckUtils]: 2: Hoare triple {855#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,621 INFO L280 TraceCheckUtils]: 3: Hoare triple {824#true} ~x := #in~x; {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,621 INFO L280 TraceCheckUtils]: 4: Hoare triple {879#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,622 INFO L263 TraceCheckUtils]: 5: Hoare triple {879#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,622 INFO L280 TraceCheckUtils]: 6: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,623 INFO L280 TraceCheckUtils]: 7: Hoare triple {855#(= |id_#in~x| id_~x)} assume !(0 == ~x); {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,623 INFO L263 TraceCheckUtils]: 8: Hoare triple {855#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,625 INFO L280 TraceCheckUtils]: 9: Hoare triple {824#true} ~x := #in~x; {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,626 INFO L280 TraceCheckUtils]: 10: Hoare triple {879#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,626 INFO L263 TraceCheckUtils]: 11: Hoare triple {879#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,628 INFO L280 TraceCheckUtils]: 12: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,629 INFO L280 TraceCheckUtils]: 13: Hoare triple {855#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,630 INFO L280 TraceCheckUtils]: 14: Hoare triple {913#(= 0 |id_#in~x|)} assume true; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,632 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {913#(= 0 |id_#in~x|)} {879#(= id2_~x |id2_#in~x|)} #32#return; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,633 INFO L280 TraceCheckUtils]: 16: Hoare triple {912#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,634 INFO L280 TraceCheckUtils]: 17: Hoare triple {912#(<= |id2_#in~x| 1)} assume true; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,636 INFO L275 TraceCheckUtils]: 18: Hoare quadruple {912#(<= |id2_#in~x| 1)} {855#(= |id_#in~x| id_~x)} #36#return; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,637 INFO L280 TraceCheckUtils]: 19: Hoare triple {907#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,638 INFO L280 TraceCheckUtils]: 20: Hoare triple {907#(<= |id_#in~x| 2)} assume true; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,640 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {907#(<= |id_#in~x| 2)} {879#(= id2_~x |id2_#in~x|)} #32#return; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,641 INFO L280 TraceCheckUtils]: 22: Hoare triple {896#(<= |id2_#in~x| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,642 INFO L280 TraceCheckUtils]: 23: Hoare triple {896#(<= |id2_#in~x| 3)} assume true; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,643 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {896#(<= |id2_#in~x| 3)} {855#(= |id_#in~x| id_~x)} #36#return; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:38,644 INFO L280 TraceCheckUtils]: 25: Hoare triple {878#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:38,645 INFO L280 TraceCheckUtils]: 26: Hoare triple {878#(<= |id_#in~x| 4)} assume true; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:38,646 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {878#(<= |id_#in~x| 4)} {826#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {825#false} is VALID [2020-07-28 19:11:38,648 INFO L280 TraceCheckUtils]: 0: Hoare triple {824#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5; {826#(<= 5 ULTIMATE.start_main_~input~0)} is VALID [2020-07-28 19:11:38,648 INFO L263 TraceCheckUtils]: 1: Hoare triple {826#(<= 5 ULTIMATE.start_main_~input~0)} call main_#t~ret2 := id(main_~input~0); {824#true} is VALID [2020-07-28 19:11:38,649 INFO L280 TraceCheckUtils]: 2: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,650 INFO L280 TraceCheckUtils]: 3: Hoare triple {855#(= |id_#in~x| id_~x)} assume !(0 == ~x); {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,650 INFO L263 TraceCheckUtils]: 4: Hoare triple {855#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,651 INFO L280 TraceCheckUtils]: 5: Hoare triple {824#true} ~x := #in~x; {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,652 INFO L280 TraceCheckUtils]: 6: Hoare triple {879#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,652 INFO L263 TraceCheckUtils]: 7: Hoare triple {879#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,653 INFO L280 TraceCheckUtils]: 8: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,654 INFO L280 TraceCheckUtils]: 9: Hoare triple {855#(= |id_#in~x| id_~x)} assume !(0 == ~x); {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,654 INFO L263 TraceCheckUtils]: 10: Hoare triple {855#(= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,655 INFO L280 TraceCheckUtils]: 11: Hoare triple {824#true} ~x := #in~x; {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,656 INFO L280 TraceCheckUtils]: 12: Hoare triple {879#(= id2_~x |id2_#in~x|)} assume !(0 == ~x); {879#(= id2_~x |id2_#in~x|)} is VALID [2020-07-28 19:11:38,656 INFO L263 TraceCheckUtils]: 13: Hoare triple {879#(= id2_~x |id2_#in~x|)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:38,657 INFO L280 TraceCheckUtils]: 14: Hoare triple {824#true} ~x := #in~x; {855#(= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:38,658 INFO L280 TraceCheckUtils]: 15: Hoare triple {855#(= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,659 INFO L280 TraceCheckUtils]: 16: Hoare triple {913#(= 0 |id_#in~x|)} assume true; {913#(= 0 |id_#in~x|)} is VALID [2020-07-28 19:11:38,661 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {913#(= 0 |id_#in~x|)} {879#(= id2_~x |id2_#in~x|)} #32#return; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,662 INFO L280 TraceCheckUtils]: 18: Hoare triple {912#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,662 INFO L280 TraceCheckUtils]: 19: Hoare triple {912#(<= |id2_#in~x| 1)} assume true; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:38,664 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {912#(<= |id2_#in~x| 1)} {855#(= |id_#in~x| id_~x)} #36#return; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,665 INFO L280 TraceCheckUtils]: 21: Hoare triple {907#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,666 INFO L280 TraceCheckUtils]: 22: Hoare triple {907#(<= |id_#in~x| 2)} assume true; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:38,668 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {907#(<= |id_#in~x| 2)} {879#(= id2_~x |id2_#in~x|)} #32#return; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,669 INFO L280 TraceCheckUtils]: 24: Hoare triple {896#(<= |id2_#in~x| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,670 INFO L280 TraceCheckUtils]: 25: Hoare triple {896#(<= |id2_#in~x| 3)} assume true; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:38,672 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {896#(<= |id2_#in~x| 3)} {855#(= |id_#in~x| id_~x)} #36#return; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:38,673 INFO L280 TraceCheckUtils]: 27: Hoare triple {878#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:38,674 INFO L280 TraceCheckUtils]: 28: Hoare triple {878#(<= |id_#in~x| 4)} assume true; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:38,675 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {878#(<= |id_#in~x| 4)} {826#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {825#false} is VALID [2020-07-28 19:11:38,676 INFO L280 TraceCheckUtils]: 30: Hoare triple {825#false} assume -2147483648 <= main_#t~ret2 && main_#t~ret2 <= 2147483647;main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {825#false} is VALID [2020-07-28 19:11:38,676 INFO L280 TraceCheckUtils]: 31: Hoare triple {825#false} assume 5 == main_~result~0; {825#false} is VALID [2020-07-28 19:11:38,676 INFO L280 TraceCheckUtils]: 32: Hoare triple {825#false} assume !false; {825#false} is VALID [2020-07-28 19:11:38,678 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2020-07-28 19:11:38,678 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [661829206] [2020-07-28 19:11:38,678 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [926381488] [2020-07-28 19:11:38,678 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:11:38,730 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 19:11:38,730 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:11:38,731 INFO L263 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 12 conjunts are in the unsatisfiable core [2020-07-28 19:11:38,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:38,748 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:39,145 INFO L280 TraceCheckUtils]: 0: Hoare triple {824#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5; {826#(<= 5 ULTIMATE.start_main_~input~0)} is VALID [2020-07-28 19:11:39,145 INFO L263 TraceCheckUtils]: 1: Hoare triple {826#(<= 5 ULTIMATE.start_main_~input~0)} call main_#t~ret2 := id(main_~input~0); {824#true} is VALID [2020-07-28 19:11:39,146 INFO L280 TraceCheckUtils]: 2: Hoare triple {824#true} ~x := #in~x; {923#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:39,146 INFO L280 TraceCheckUtils]: 3: Hoare triple {923#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {923#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:39,146 INFO L263 TraceCheckUtils]: 4: Hoare triple {923#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {824#true} is VALID [2020-07-28 19:11:39,147 INFO L280 TraceCheckUtils]: 5: Hoare triple {824#true} ~x := #in~x; {933#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:39,148 INFO L280 TraceCheckUtils]: 6: Hoare triple {933#(<= |id2_#in~x| id2_~x)} assume !(0 == ~x); {933#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:39,148 INFO L263 TraceCheckUtils]: 7: Hoare triple {933#(<= |id2_#in~x| id2_~x)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:39,149 INFO L280 TraceCheckUtils]: 8: Hoare triple {824#true} ~x := #in~x; {923#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:39,149 INFO L280 TraceCheckUtils]: 9: Hoare triple {923#(<= |id_#in~x| id_~x)} assume !(0 == ~x); {923#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:39,150 INFO L263 TraceCheckUtils]: 10: Hoare triple {923#(<= |id_#in~x| id_~x)} call #t~ret0 := id2(~x - 1); {824#true} is VALID [2020-07-28 19:11:39,150 INFO L280 TraceCheckUtils]: 11: Hoare triple {824#true} ~x := #in~x; {933#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:39,151 INFO L280 TraceCheckUtils]: 12: Hoare triple {933#(<= |id2_#in~x| id2_~x)} assume !(0 == ~x); {933#(<= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:39,151 INFO L263 TraceCheckUtils]: 13: Hoare triple {933#(<= |id2_#in~x| id2_~x)} call #t~ret1 := id(~x - 1); {824#true} is VALID [2020-07-28 19:11:39,152 INFO L280 TraceCheckUtils]: 14: Hoare triple {824#true} ~x := #in~x; {923#(<= |id_#in~x| id_~x)} is VALID [2020-07-28 19:11:39,153 INFO L280 TraceCheckUtils]: 15: Hoare triple {923#(<= |id_#in~x| id_~x)} assume 0 == ~x;#res := 0; {964#(<= |id_#in~x| 0)} is VALID [2020-07-28 19:11:39,153 INFO L280 TraceCheckUtils]: 16: Hoare triple {964#(<= |id_#in~x| 0)} assume true; {964#(<= |id_#in~x| 0)} is VALID [2020-07-28 19:11:39,155 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {964#(<= |id_#in~x| 0)} {933#(<= |id2_#in~x| id2_~x)} #32#return; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:39,155 INFO L280 TraceCheckUtils]: 18: Hoare triple {912#(<= |id2_#in~x| 1)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:39,156 INFO L280 TraceCheckUtils]: 19: Hoare triple {912#(<= |id2_#in~x| 1)} assume true; {912#(<= |id2_#in~x| 1)} is VALID [2020-07-28 19:11:39,157 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {912#(<= |id2_#in~x| 1)} {923#(<= |id_#in~x| id_~x)} #36#return; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:39,158 INFO L280 TraceCheckUtils]: 21: Hoare triple {907#(<= |id_#in~x| 2)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:39,159 INFO L280 TraceCheckUtils]: 22: Hoare triple {907#(<= |id_#in~x| 2)} assume true; {907#(<= |id_#in~x| 2)} is VALID [2020-07-28 19:11:39,160 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {907#(<= |id_#in~x| 2)} {933#(<= |id2_#in~x| id2_~x)} #32#return; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:39,161 INFO L280 TraceCheckUtils]: 24: Hoare triple {896#(<= |id2_#in~x| 3)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;#res := 1 + #t~ret1;havoc #t~ret1; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:39,161 INFO L280 TraceCheckUtils]: 25: Hoare triple {896#(<= |id2_#in~x| 3)} assume true; {896#(<= |id2_#in~x| 3)} is VALID [2020-07-28 19:11:39,163 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {896#(<= |id2_#in~x| 3)} {923#(<= |id_#in~x| id_~x)} #36#return; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:39,163 INFO L280 TraceCheckUtils]: 27: Hoare triple {878#(<= |id_#in~x| 4)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;#res := 1 + #t~ret0;havoc #t~ret0; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:39,164 INFO L280 TraceCheckUtils]: 28: Hoare triple {878#(<= |id_#in~x| 4)} assume true; {878#(<= |id_#in~x| 4)} is VALID [2020-07-28 19:11:39,165 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {878#(<= |id_#in~x| 4)} {826#(<= 5 ULTIMATE.start_main_~input~0)} #34#return; {825#false} is VALID [2020-07-28 19:11:39,165 INFO L280 TraceCheckUtils]: 30: Hoare triple {825#false} assume -2147483648 <= main_#t~ret2 && main_#t~ret2 <= 2147483647;main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {825#false} is VALID [2020-07-28 19:11:39,165 INFO L280 TraceCheckUtils]: 31: Hoare triple {825#false} assume 5 == main_~result~0; {825#false} is VALID [2020-07-28 19:11:39,166 INFO L280 TraceCheckUtils]: 32: Hoare triple {825#false} assume !false; {825#false} is VALID [2020-07-28 19:11:39,167 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2020-07-28 19:11:39,167 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:39,167 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 13 [2020-07-28 19:11:39,168 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [910427197] [2020-07-28 19:11:39,168 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 33 [2020-07-28 19:11:39,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:39,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-28 19:11:39,220 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:39,220 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-28 19:11:39,221 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 19:11:39,221 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-28 19:11:39,221 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2020-07-28 19:11:39,222 INFO L87 Difference]: Start difference. First operand 29 states and 31 transitions. Second operand 13 states. [2020-07-28 19:11:39,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:39,606 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2020-07-28 19:11:39,606 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-28 19:11:39,606 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 33 [2020-07-28 19:11:39,606 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:39,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 19:11:39,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 38 transitions. [2020-07-28 19:11:39,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 19:11:39,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 38 transitions. [2020-07-28 19:11:39,613 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 38 transitions. [2020-07-28 19:11:39,672 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:39,675 INFO L225 Difference]: With dead ends: 47 [2020-07-28 19:11:39,675 INFO L226 Difference]: Without dead ends: 43 [2020-07-28 19:11:39,676 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=240, Unknown=0, NotChecked=0, Total=306 [2020-07-28 19:11:39,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2020-07-28 19:11:39,687 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 32. [2020-07-28 19:11:39,687 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:39,687 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 32 states. [2020-07-28 19:11:39,687 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 32 states. [2020-07-28 19:11:39,688 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 32 states. [2020-07-28 19:11:39,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:39,691 INFO L93 Difference]: Finished difference Result 43 states and 45 transitions. [2020-07-28 19:11:39,691 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 45 transitions. [2020-07-28 19:11:39,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:39,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:39,692 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 43 states. [2020-07-28 19:11:39,692 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 43 states. [2020-07-28 19:11:39,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:39,695 INFO L93 Difference]: Finished difference Result 43 states and 45 transitions. [2020-07-28 19:11:39,695 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 45 transitions. [2020-07-28 19:11:39,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:39,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:39,696 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:39,696 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:39,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2020-07-28 19:11:39,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 34 transitions. [2020-07-28 19:11:39,698 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 34 transitions. Word has length 33 [2020-07-28 19:11:39,698 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:39,698 INFO L479 AbstractCegarLoop]: Abstraction has 32 states and 34 transitions. [2020-07-28 19:11:39,699 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-28 19:11:39,699 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 34 transitions. [2020-07-28 19:11:39,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2020-07-28 19:11:39,700 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:39,700 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:39,913 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 19:11:39,914 INFO L427 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:39,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:39,915 INFO L82 PathProgramCache]: Analyzing trace with hash -1002836670, now seen corresponding path program 2 times [2020-07-28 19:11:39,915 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 19:11:39,916 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1319858283] [2020-07-28 19:11:39,916 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 19:11:39,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 19:11:39,929 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:11:39,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 19:11:39,941 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:11:39,964 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-28 19:11:39,964 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 19:11:39,965 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-28 19:11:39,993 FATAL L488 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret2 := id(~input~0); [2020-07-28 19:11:39,994 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportResult(TraceAbstractionStarter.java:693) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportCounterexampleResult(TraceAbstractionStarter.java:626) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportResults(TraceAbstractionStarter.java:525) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterateNew(TraceAbstractionStarter.java:383) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-28 19:11:40,001 INFO L168 Benchmark]: Toolchain (without parser) took 6500.31 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 206.6 MB). Free memory was 957.5 MB in the beginning and 837.1 MB in the end (delta: 120.5 MB). Peak memory consumption was 327.0 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:40,002 INFO L168 Benchmark]: CDTParser took 0.33 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 19:11:40,008 INFO L168 Benchmark]: CACSL2BoogieTranslator took 261.32 ms. Allocated memory is still 1.0 GB. Free memory was 957.5 MB in the beginning and 946.8 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:40,009 INFO L168 Benchmark]: Boogie Procedure Inliner took 91.62 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 946.8 MB in the beginning and 1.1 GB in the end (delta: -185.9 MB). Peak memory consumption was 9.8 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:40,009 INFO L168 Benchmark]: Boogie Preprocessor took 28.63 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:40,010 INFO L168 Benchmark]: RCFGBuilder took 312.38 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 20.1 MB). Peak memory consumption was 20.1 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:40,011 INFO L168 Benchmark]: TraceAbstraction took 5797.70 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 70.3 MB). Free memory was 1.1 GB in the beginning and 837.1 MB in the end (delta: 268.9 MB). Peak memory consumption was 339.2 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:40,021 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.33 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 261.32 ms. Allocated memory is still 1.0 GB. Free memory was 957.5 MB in the beginning and 946.8 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 91.62 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 946.8 MB in the beginning and 1.1 GB in the end (delta: -185.9 MB). Peak memory consumption was 9.8 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 28.63 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. * RCFGBuilder took 312.38 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 20.1 MB). Peak memory consumption was 20.1 MB. Max. memory is 11.5 GB. * TraceAbstraction took 5797.70 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 70.3 MB). Free memory was 1.1 GB in the beginning and 837.1 MB in the end (delta: 268.9 MB). Peak memory consumption was 339.2 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:216) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.25-8bd4bc6 [2020-07-28 19:11:42,043 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 19:11:42,045 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 19:11:42,062 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 19:11:42,062 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 19:11:42,063 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 19:11:42,064 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 19:11:42,066 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 19:11:42,068 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 19:11:42,069 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 19:11:42,070 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 19:11:42,071 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 19:11:42,071 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 19:11:42,072 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 19:11:42,074 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 19:11:42,075 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 19:11:42,076 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 19:11:42,077 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 19:11:42,081 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 19:11:42,083 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 19:11:42,084 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 19:11:42,085 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 19:11:42,087 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 19:11:42,087 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 19:11:42,090 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 19:11:42,090 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 19:11:42,091 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 19:11:42,091 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 19:11:42,092 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 19:11:42,093 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 19:11:42,093 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 19:11:42,094 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 19:11:42,095 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 19:11:42,095 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 19:11:42,096 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 19:11:42,097 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 19:11:42,097 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 19:11:42,098 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 19:11:42,098 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 19:11:42,099 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 19:11:42,099 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 19:11:42,100 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2020-07-28 19:11:42,115 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 19:11:42,116 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 19:11:42,117 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 19:11:42,117 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 19:11:42,117 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 19:11:42,117 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 19:11:42,118 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 19:11:42,118 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 19:11:42,118 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 19:11:42,118 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 19:11:42,119 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 19:11:42,119 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 19:11:42,119 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2020-07-28 19:11:42,119 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2020-07-28 19:11:42,119 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 19:11:42,120 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 19:11:42,120 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 19:11:42,120 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 19:11:42,120 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 19:11:42,120 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 19:11:42,121 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 19:11:42,121 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 19:11:42,121 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:11:42,121 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 19:11:42,122 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 19:11:42,122 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 19:11:42,122 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2020-07-28 19:11:42,122 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --rewrite-divk --print-success --lang smt [2020-07-28 19:11:42,122 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 19:11:42,123 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 19:11:42,123 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-28 19:11:42,123 INFO L138 SettingsManager]: * Logic for external solver=AUFBV 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(__VERIFIER_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 -> 59c5766d3cddc0d41e2678bb5221cccc60217431 [2020-07-28 19:11:42,415 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 19:11:42,427 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 19:11:42,430 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 19:11:42,432 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 19:11:42,432 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 19:11:42,433 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursive-simple/id2_i5_o5-1.c [2020-07-28 19:11:42,494 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2974adb4f/5375ef7afa794cedb45beaa495aaf6fe/FLAG6f047ae95 [2020-07-28 19:11:42,938 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 19:11:42,939 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursive-simple/id2_i5_o5-1.c [2020-07-28 19:11:42,945 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2974adb4f/5375ef7afa794cedb45beaa495aaf6fe/FLAG6f047ae95 [2020-07-28 19:11:43,373 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2974adb4f/5375ef7afa794cedb45beaa495aaf6fe [2020-07-28 19:11:43,377 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 19:11:43,381 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 19:11:43,382 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 19:11:43,382 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 19:11:43,386 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 19:11:43,387 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,390 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@17def24 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43, skipping insertion in model container [2020-07-28 19:11:43,390 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,399 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 19:11:43,420 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 19:11:43,631 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:11:43,637 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 19:11:43,653 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 19:11:43,669 INFO L208 MainTranslator]: Completed translation [2020-07-28 19:11:43,670 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43 WrapperNode [2020-07-28 19:11:43,670 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 19:11:43,671 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 19:11:43,671 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 19:11:43,671 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 19:11:43,681 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,743 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,763 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 19:11:43,763 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 19:11:43,764 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 19:11:43,764 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 19:11:43,771 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,771 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,773 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,773 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,777 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,779 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,781 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... [2020-07-28 19:11:43,782 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 19:11:43,783 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 19:11:43,783 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 19:11:43,783 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 19:11:43,784 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 19:11:43,857 INFO L130 BoogieDeclarations]: Found specification of procedure id2 [2020-07-28 19:11:43,858 INFO L138 BoogieDeclarations]: Found implementation of procedure id2 [2020-07-28 19:11:43,858 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 19:11:43,858 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 19:11:43,858 INFO L130 BoogieDeclarations]: Found specification of procedure id [2020-07-28 19:11:43,858 INFO L138 BoogieDeclarations]: Found implementation of procedure id [2020-07-28 19:11:44,103 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 19:11:44,103 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-28 19:11:44,108 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:11:44 BoogieIcfgContainer [2020-07-28 19:11:44,109 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 19:11:44,111 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 19:11:44,111 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 19:11:44,115 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 19:11:44,115 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 07:11:43" (1/3) ... [2020-07-28 19:11:44,116 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@394e5968 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:11:44, skipping insertion in model container [2020-07-28 19:11:44,117 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 07:11:43" (2/3) ... [2020-07-28 19:11:44,117 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@394e5968 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 07:11:44, skipping insertion in model container [2020-07-28 19:11:44,118 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 07:11:44" (3/3) ... [2020-07-28 19:11:44,120 INFO L109 eAbstractionObserver]: Analyzing ICFG id2_i5_o5-1.c [2020-07-28 19:11:44,135 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 19:11:44,145 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 19:11:44,165 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 19:11:44,193 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 19:11:44,194 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 19:11:44,194 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 19:11:44,195 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 19:11:44,195 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 19:11:44,195 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 19:11:44,195 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 19:11:44,196 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 19:11:44,219 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states. [2020-07-28 19:11:44,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2020-07-28 19:11:44,227 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:44,229 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:44,230 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:44,237 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:44,238 INFO L82 PathProgramCache]: Analyzing trace with hash 2105267373, now seen corresponding path program 1 times [2020-07-28 19:11:44,255 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:44,255 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [819271886] [2020-07-28 19:11:44,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:44,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:44,355 INFO L263 TraceCheckSpWp]: Trace formula consists of 14 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-28 19:11:44,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:44,367 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:44,502 INFO L280 TraceCheckUtils]: 0: Hoare triple {24#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {29#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:44,503 INFO L263 TraceCheckUtils]: 1: Hoare triple {29#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} call main_#t~ret2 := id(main_~input~0); {24#true} is VALID [2020-07-28 19:11:44,504 INFO L280 TraceCheckUtils]: 2: Hoare triple {24#true} ~x := #in~x; {36#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:44,506 INFO L280 TraceCheckUtils]: 3: Hoare triple {36#(= id_~x |id_#in~x|)} assume 0bv32 == ~x;#res := 0bv32; {40#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:44,507 INFO L280 TraceCheckUtils]: 4: Hoare triple {40#(= (_ bv0 32) |id_#in~x|)} assume true; {40#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:44,510 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {40#(= (_ bv0 32) |id_#in~x|)} {29#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} #34#return; {25#false} is VALID [2020-07-28 19:11:44,511 INFO L280 TraceCheckUtils]: 6: Hoare triple {25#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {25#false} is VALID [2020-07-28 19:11:44,511 INFO L280 TraceCheckUtils]: 7: Hoare triple {25#false} assume 5bv32 == main_~result~0; {25#false} is VALID [2020-07-28 19:11:44,512 INFO L280 TraceCheckUtils]: 8: Hoare triple {25#false} assume !false; {25#false} is VALID [2020-07-28 19:11:44,515 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:11:44,515 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:44,630 INFO L280 TraceCheckUtils]: 8: Hoare triple {25#false} assume !false; {25#false} is VALID [2020-07-28 19:11:44,630 INFO L280 TraceCheckUtils]: 7: Hoare triple {25#false} assume 5bv32 == main_~result~0; {25#false} is VALID [2020-07-28 19:11:44,631 INFO L280 TraceCheckUtils]: 6: Hoare triple {25#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {25#false} is VALID [2020-07-28 19:11:44,633 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {40#(= (_ bv0 32) |id_#in~x|)} {65#(not (= ULTIMATE.start_main_~input~0 (_ bv0 32)))} #34#return; {25#false} is VALID [2020-07-28 19:11:44,634 INFO L280 TraceCheckUtils]: 4: Hoare triple {40#(= (_ bv0 32) |id_#in~x|)} assume true; {40#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:44,636 INFO L280 TraceCheckUtils]: 3: Hoare triple {75#(or (= (_ bv0 32) |id_#in~x|) (not (= id_~x (_ bv0 32))))} assume 0bv32 == ~x;#res := 0bv32; {40#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:44,638 INFO L280 TraceCheckUtils]: 2: Hoare triple {24#true} ~x := #in~x; {75#(or (= (_ bv0 32) |id_#in~x|) (not (= id_~x (_ bv0 32))))} is VALID [2020-07-28 19:11:44,638 INFO L263 TraceCheckUtils]: 1: Hoare triple {65#(not (= ULTIMATE.start_main_~input~0 (_ bv0 32)))} call main_#t~ret2 := id(main_~input~0); {24#true} is VALID [2020-07-28 19:11:44,640 INFO L280 TraceCheckUtils]: 0: Hoare triple {24#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {65#(not (= ULTIMATE.start_main_~input~0 (_ bv0 32)))} is VALID [2020-07-28 19:11:44,641 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:11:44,643 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [819271886] [2020-07-28 19:11:44,644 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:11:44,644 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5, 5] imperfect sequences [] total 7 [2020-07-28 19:11:44,645 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1164125753] [2020-07-28 19:11:44,653 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 9 [2020-07-28 19:11:44,656 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:44,661 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-28 19:11:44,691 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:44,691 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-28 19:11:44,692 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:44,701 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-28 19:11:44,703 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2020-07-28 19:11:44,705 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 7 states. [2020-07-28 19:11:44,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:44,989 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2020-07-28 19:11:44,989 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 19:11:44,989 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 9 [2020-07-28 19:11:44,990 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:44,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:11:45,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 34 transitions. [2020-07-28 19:11:45,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 19:11:45,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 34 transitions. [2020-07-28 19:11:45,006 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 34 transitions. [2020-07-28 19:11:45,075 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:45,087 INFO L225 Difference]: With dead ends: 30 [2020-07-28 19:11:45,087 INFO L226 Difference]: Without dead ends: 20 [2020-07-28 19:11:45,091 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2020-07-28 19:11:45,109 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2020-07-28 19:11:45,131 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 20. [2020-07-28 19:11:45,131 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:45,132 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:45,133 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:45,133 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:45,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:45,138 INFO L93 Difference]: Finished difference Result 20 states and 22 transitions. [2020-07-28 19:11:45,138 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2020-07-28 19:11:45,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:45,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:45,140 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:45,140 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2020-07-28 19:11:45,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:45,144 INFO L93 Difference]: Finished difference Result 20 states and 22 transitions. [2020-07-28 19:11:45,144 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2020-07-28 19:11:45,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:45,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:45,146 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:45,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:45,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-28 19:11:45,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 22 transitions. [2020-07-28 19:11:45,151 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 22 transitions. Word has length 9 [2020-07-28 19:11:45,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:45,151 INFO L479 AbstractCegarLoop]: Abstraction has 20 states and 22 transitions. [2020-07-28 19:11:45,151 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-28 19:11:45,152 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2020-07-28 19:11:45,153 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2020-07-28 19:11:45,153 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:45,153 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:45,364 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 mathsat -unsat_core_generation=3 [2020-07-28 19:11:45,365 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:45,366 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:45,366 INFO L82 PathProgramCache]: Analyzing trace with hash -131148366, now seen corresponding path program 1 times [2020-07-28 19:11:45,367 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:45,368 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [274037893] [2020-07-28 19:11:45,368 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:45,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:45,393 INFO L263 TraceCheckSpWp]: Trace formula consists of 22 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 19:11:45,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:45,402 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:45,494 INFO L280 TraceCheckUtils]: 0: Hoare triple {183#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {188#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:45,494 INFO L263 TraceCheckUtils]: 1: Hoare triple {188#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} call main_#t~ret2 := id(main_~input~0); {183#true} is VALID [2020-07-28 19:11:45,495 INFO L280 TraceCheckUtils]: 2: Hoare triple {183#true} ~x := #in~x; {195#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:45,497 INFO L280 TraceCheckUtils]: 3: Hoare triple {195#(= id_~x |id_#in~x|)} assume !(0bv32 == ~x); {195#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:45,497 INFO L263 TraceCheckUtils]: 4: Hoare triple {195#(= id_~x |id_#in~x|)} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {183#true} is VALID [2020-07-28 19:11:45,498 INFO L280 TraceCheckUtils]: 5: Hoare triple {183#true} ~x := #in~x; {205#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:45,500 INFO L280 TraceCheckUtils]: 6: Hoare triple {205#(= |id2_#in~x| id2_~x)} assume 0bv32 == ~x;#res := 0bv32; {209#(= |id2_#in~x| (_ bv0 32))} is VALID [2020-07-28 19:11:45,501 INFO L280 TraceCheckUtils]: 7: Hoare triple {209#(= |id2_#in~x| (_ bv0 32))} assume true; {209#(= |id2_#in~x| (_ bv0 32))} is VALID [2020-07-28 19:11:45,503 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {209#(= |id2_#in~x| (_ bv0 32))} {195#(= id_~x |id_#in~x|)} #36#return; {216#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:45,504 INFO L280 TraceCheckUtils]: 9: Hoare triple {216#(= (_ bv1 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {216#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:45,505 INFO L280 TraceCheckUtils]: 10: Hoare triple {216#(= (_ bv1 32) |id_#in~x|)} assume true; {216#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:45,507 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {216#(= (_ bv1 32) |id_#in~x|)} {188#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} #34#return; {184#false} is VALID [2020-07-28 19:11:45,508 INFO L280 TraceCheckUtils]: 12: Hoare triple {184#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {184#false} is VALID [2020-07-28 19:11:45,508 INFO L280 TraceCheckUtils]: 13: Hoare triple {184#false} assume 5bv32 == main_~result~0; {184#false} is VALID [2020-07-28 19:11:45,508 INFO L280 TraceCheckUtils]: 14: Hoare triple {184#false} assume !false; {184#false} is VALID [2020-07-28 19:11:45,510 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:11:45,510 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:45,770 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:45,862 INFO L280 TraceCheckUtils]: 14: Hoare triple {184#false} assume !false; {184#false} is VALID [2020-07-28 19:11:45,862 INFO L280 TraceCheckUtils]: 13: Hoare triple {184#false} assume 5bv32 == main_~result~0; {184#false} is VALID [2020-07-28 19:11:45,862 INFO L280 TraceCheckUtils]: 12: Hoare triple {184#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {184#false} is VALID [2020-07-28 19:11:45,864 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {216#(= (_ bv1 32) |id_#in~x|)} {244#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967295 32)) (_ bv0 32)))} #34#return; {184#false} is VALID [2020-07-28 19:11:45,865 INFO L280 TraceCheckUtils]: 10: Hoare triple {216#(= (_ bv1 32) |id_#in~x|)} assume true; {216#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:45,866 INFO L280 TraceCheckUtils]: 9: Hoare triple {216#(= (_ bv1 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {216#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:45,868 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {209#(= |id2_#in~x| (_ bv0 32))} {257#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} #36#return; {216#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:45,869 INFO L280 TraceCheckUtils]: 7: Hoare triple {209#(= |id2_#in~x| (_ bv0 32))} assume true; {209#(= |id2_#in~x| (_ bv0 32))} is VALID [2020-07-28 19:11:45,870 INFO L280 TraceCheckUtils]: 6: Hoare triple {267#(or (= |id2_#in~x| (_ bv0 32)) (not (= (_ bv0 32) id2_~x)))} assume 0bv32 == ~x;#res := 0bv32; {209#(= |id2_#in~x| (_ bv0 32))} is VALID [2020-07-28 19:11:45,872 INFO L280 TraceCheckUtils]: 5: Hoare triple {183#true} ~x := #in~x; {267#(or (= |id2_#in~x| (_ bv0 32)) (not (= (_ bv0 32) id2_~x)))} is VALID [2020-07-28 19:11:45,872 INFO L263 TraceCheckUtils]: 4: Hoare triple {257#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {183#true} is VALID [2020-07-28 19:11:45,873 INFO L280 TraceCheckUtils]: 3: Hoare triple {257#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} assume !(0bv32 == ~x); {257#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:45,874 INFO L280 TraceCheckUtils]: 2: Hoare triple {183#true} ~x := #in~x; {257#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:45,874 INFO L263 TraceCheckUtils]: 1: Hoare triple {244#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967295 32)) (_ bv0 32)))} call main_#t~ret2 := id(main_~input~0); {183#true} is VALID [2020-07-28 19:11:45,875 INFO L280 TraceCheckUtils]: 0: Hoare triple {183#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {244#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:45,877 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 19:11:45,877 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [274037893] [2020-07-28 19:11:45,877 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-28 19:11:45,877 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7, 7] imperfect sequences [] total 10 [2020-07-28 19:11:45,878 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1663102809] [2020-07-28 19:11:45,879 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 15 [2020-07-28 19:11:45,881 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:45,881 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-28 19:11:45,918 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:45,919 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-28 19:11:45,919 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:45,920 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-28 19:11:45,920 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2020-07-28 19:11:45,920 INFO L87 Difference]: Start difference. First operand 20 states and 22 transitions. Second operand 10 states. [2020-07-28 19:11:46,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:46,251 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2020-07-28 19:11:46,251 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 19:11:46,252 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 15 [2020-07-28 19:11:46,252 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:46,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:11:46,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 29 transitions. [2020-07-28 19:11:46,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 19:11:46,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 29 transitions. [2020-07-28 19:11:46,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 29 transitions. [2020-07-28 19:11:46,311 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:46,313 INFO L225 Difference]: With dead ends: 29 [2020-07-28 19:11:46,314 INFO L226 Difference]: Without dead ends: 25 [2020-07-28 19:11:46,315 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 19 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:11:46,315 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2020-07-28 19:11:46,325 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 23. [2020-07-28 19:11:46,325 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:46,325 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 23 states. [2020-07-28 19:11:46,326 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 23 states. [2020-07-28 19:11:46,326 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 23 states. [2020-07-28 19:11:46,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:46,330 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2020-07-28 19:11:46,330 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2020-07-28 19:11:46,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:46,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:46,332 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 25 states. [2020-07-28 19:11:46,332 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 25 states. [2020-07-28 19:11:46,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:46,335 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2020-07-28 19:11:46,336 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2020-07-28 19:11:46,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:46,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:46,337 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:46,337 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:46,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-28 19:11:46,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 25 transitions. [2020-07-28 19:11:46,340 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 25 transitions. Word has length 15 [2020-07-28 19:11:46,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:46,341 INFO L479 AbstractCegarLoop]: Abstraction has 23 states and 25 transitions. [2020-07-28 19:11:46,341 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-28 19:11:46,341 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2020-07-28 19:11:46,342 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-28 19:11:46,342 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:46,343 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:46,562 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2020-07-28 19:11:46,563 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:46,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:46,566 INFO L82 PathProgramCache]: Analyzing trace with hash -132605643, now seen corresponding path program 1 times [2020-07-28 19:11:46,567 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:46,567 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [486020516] [2020-07-28 19:11:46,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:46,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:46,593 INFO L263 TraceCheckSpWp]: Trace formula consists of 30 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 19:11:46,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:46,601 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:46,717 INFO L280 TraceCheckUtils]: 0: Hoare triple {395#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {400#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:46,717 INFO L263 TraceCheckUtils]: 1: Hoare triple {400#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} call main_#t~ret2 := id(main_~input~0); {395#true} is VALID [2020-07-28 19:11:46,719 INFO L280 TraceCheckUtils]: 2: Hoare triple {395#true} ~x := #in~x; {407#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:46,719 INFO L280 TraceCheckUtils]: 3: Hoare triple {407#(= id_~x |id_#in~x|)} assume !(0bv32 == ~x); {407#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:46,720 INFO L263 TraceCheckUtils]: 4: Hoare triple {407#(= id_~x |id_#in~x|)} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {395#true} is VALID [2020-07-28 19:11:46,721 INFO L280 TraceCheckUtils]: 5: Hoare triple {395#true} ~x := #in~x; {417#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:46,722 INFO L280 TraceCheckUtils]: 6: Hoare triple {417#(= |id2_#in~x| id2_~x)} assume !(0bv32 == ~x); {417#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:46,723 INFO L263 TraceCheckUtils]: 7: Hoare triple {417#(= |id2_#in~x| id2_~x)} call #t~ret1 := id(~bvsub32(~x, 1bv32)); {395#true} is VALID [2020-07-28 19:11:46,724 INFO L280 TraceCheckUtils]: 8: Hoare triple {395#true} ~x := #in~x; {407#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:46,725 INFO L280 TraceCheckUtils]: 9: Hoare triple {407#(= id_~x |id_#in~x|)} assume 0bv32 == ~x;#res := 0bv32; {430#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:46,726 INFO L280 TraceCheckUtils]: 10: Hoare triple {430#(= (_ bv0 32) |id_#in~x|)} assume true; {430#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:46,728 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {430#(= (_ bv0 32) |id_#in~x|)} {417#(= |id2_#in~x| id2_~x)} #32#return; {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:46,729 INFO L280 TraceCheckUtils]: 12: Hoare triple {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} #res := ~bvadd32(1bv32, #t~ret1);havoc #t~ret1; {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:46,730 INFO L280 TraceCheckUtils]: 13: Hoare triple {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} assume true; {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:46,732 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} {407#(= id_~x |id_#in~x|)} #36#return; {447#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:46,733 INFO L280 TraceCheckUtils]: 15: Hoare triple {447#(= (_ bv2 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {447#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:46,734 INFO L280 TraceCheckUtils]: 16: Hoare triple {447#(= (_ bv2 32) |id_#in~x|)} assume true; {447#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:46,735 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {447#(= (_ bv2 32) |id_#in~x|)} {400#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} #34#return; {396#false} is VALID [2020-07-28 19:11:46,736 INFO L280 TraceCheckUtils]: 18: Hoare triple {396#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {396#false} is VALID [2020-07-28 19:11:46,736 INFO L280 TraceCheckUtils]: 19: Hoare triple {396#false} assume 5bv32 == main_~result~0; {396#false} is VALID [2020-07-28 19:11:46,737 INFO L280 TraceCheckUtils]: 20: Hoare triple {396#false} assume !false; {396#false} is VALID [2020-07-28 19:11:46,738 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-28 19:11:46,738 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:47,072 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:47,239 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:47,298 INFO L280 TraceCheckUtils]: 20: Hoare triple {396#false} assume !false; {396#false} is VALID [2020-07-28 19:11:47,299 INFO L280 TraceCheckUtils]: 19: Hoare triple {396#false} assume 5bv32 == main_~result~0; {396#false} is VALID [2020-07-28 19:11:47,299 INFO L280 TraceCheckUtils]: 18: Hoare triple {396#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {396#false} is VALID [2020-07-28 19:11:47,301 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {447#(= (_ bv2 32) |id_#in~x|)} {475#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967294 32)) (_ bv0 32)))} #34#return; {396#false} is VALID [2020-07-28 19:11:47,302 INFO L280 TraceCheckUtils]: 16: Hoare triple {447#(= (_ bv2 32) |id_#in~x|)} assume true; {447#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:47,303 INFO L280 TraceCheckUtils]: 15: Hoare triple {447#(= (_ bv2 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {447#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:47,305 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} {488#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} #36#return; {447#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:47,306 INFO L280 TraceCheckUtils]: 13: Hoare triple {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} assume true; {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:47,306 INFO L280 TraceCheckUtils]: 12: Hoare triple {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} #res := ~bvadd32(1bv32, #t~ret1);havoc #t~ret1; {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:47,308 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {430#(= (_ bv0 32) |id_#in~x|)} {501#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} #32#return; {437#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:47,310 INFO L280 TraceCheckUtils]: 10: Hoare triple {430#(= (_ bv0 32) |id_#in~x|)} assume true; {430#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:47,312 INFO L280 TraceCheckUtils]: 9: Hoare triple {511#(or (= (_ bv0 32) |id_#in~x|) (not (= id_~x (_ bv0 32))))} assume 0bv32 == ~x;#res := 0bv32; {430#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:47,314 INFO L280 TraceCheckUtils]: 8: Hoare triple {395#true} ~x := #in~x; {511#(or (= (_ bv0 32) |id_#in~x|) (not (= id_~x (_ bv0 32))))} is VALID [2020-07-28 19:11:47,314 INFO L263 TraceCheckUtils]: 7: Hoare triple {501#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} call #t~ret1 := id(~bvsub32(~x, 1bv32)); {395#true} is VALID [2020-07-28 19:11:47,315 INFO L280 TraceCheckUtils]: 6: Hoare triple {501#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} assume !(0bv32 == ~x); {501#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:47,316 INFO L280 TraceCheckUtils]: 5: Hoare triple {395#true} ~x := #in~x; {501#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:47,317 INFO L263 TraceCheckUtils]: 4: Hoare triple {488#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {395#true} is VALID [2020-07-28 19:11:47,317 INFO L280 TraceCheckUtils]: 3: Hoare triple {488#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} assume !(0bv32 == ~x); {488#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:47,319 INFO L280 TraceCheckUtils]: 2: Hoare triple {395#true} ~x := #in~x; {488#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:47,319 INFO L263 TraceCheckUtils]: 1: Hoare triple {475#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967294 32)) (_ bv0 32)))} call main_#t~ret2 := id(main_~input~0); {395#true} is VALID [2020-07-28 19:11:47,320 INFO L280 TraceCheckUtils]: 0: Hoare triple {395#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {475#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967294 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:47,322 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-28 19:11:47,323 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [486020516] [2020-07-28 19:11:47,323 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:47,323 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2020-07-28 19:11:47,324 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [537867514] [2020-07-28 19:11:47,324 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 21 [2020-07-28 19:11:47,326 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:47,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 19:11:47,376 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:47,376 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 19:11:47,377 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:47,377 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 19:11:47,378 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2020-07-28 19:11:47,378 INFO L87 Difference]: Start difference. First operand 23 states and 25 transitions. Second operand 12 states. [2020-07-28 19:11:47,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:47,947 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2020-07-28 19:11:47,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-28 19:11:47,947 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 21 [2020-07-28 19:11:47,947 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:47,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:11:47,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2020-07-28 19:11:47,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 19:11:47,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2020-07-28 19:11:47,954 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 32 transitions. [2020-07-28 19:11:48,013 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:48,015 INFO L225 Difference]: With dead ends: 35 [2020-07-28 19:11:48,015 INFO L226 Difference]: Without dead ends: 31 [2020-07-28 19:11:48,016 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 28 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2020-07-28 19:11:48,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2020-07-28 19:11:48,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 26. [2020-07-28 19:11:48,026 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:48,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 26 states. [2020-07-28 19:11:48,026 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 26 states. [2020-07-28 19:11:48,026 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 26 states. [2020-07-28 19:11:48,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:48,030 INFO L93 Difference]: Finished difference Result 31 states and 33 transitions. [2020-07-28 19:11:48,030 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2020-07-28 19:11:48,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:48,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:48,031 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 31 states. [2020-07-28 19:11:48,032 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 31 states. [2020-07-28 19:11:48,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:48,035 INFO L93 Difference]: Finished difference Result 31 states and 33 transitions. [2020-07-28 19:11:48,035 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2020-07-28 19:11:48,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:48,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:48,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:48,037 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:48,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-28 19:11:48,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 28 transitions. [2020-07-28 19:11:48,039 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 28 transitions. Word has length 21 [2020-07-28 19:11:48,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:48,040 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 28 transitions. [2020-07-28 19:11:48,040 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 19:11:48,040 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2020-07-28 19:11:48,041 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-28 19:11:48,042 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:48,042 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:48,247 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 mathsat -unsat_core_generation=3 [2020-07-28 19:11:48,248 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:48,249 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:48,249 INFO L82 PathProgramCache]: Analyzing trace with hash -614490246, now seen corresponding path program 1 times [2020-07-28 19:11:48,250 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:48,251 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1230944897] [2020-07-28 19:11:48,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:48,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:48,278 INFO L263 TraceCheckSpWp]: Trace formula consists of 38 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-28 19:11:48,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:48,288 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:48,402 INFO L280 TraceCheckUtils]: 0: Hoare triple {668#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {673#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:48,403 INFO L263 TraceCheckUtils]: 1: Hoare triple {673#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} call main_#t~ret2 := id(main_~input~0); {668#true} is VALID [2020-07-28 19:11:48,406 INFO L280 TraceCheckUtils]: 2: Hoare triple {668#true} ~x := #in~x; {680#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:48,407 INFO L280 TraceCheckUtils]: 3: Hoare triple {680#(= id_~x |id_#in~x|)} assume !(0bv32 == ~x); {680#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:48,407 INFO L263 TraceCheckUtils]: 4: Hoare triple {680#(= id_~x |id_#in~x|)} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {668#true} is VALID [2020-07-28 19:11:48,408 INFO L280 TraceCheckUtils]: 5: Hoare triple {668#true} ~x := #in~x; {690#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:48,408 INFO L280 TraceCheckUtils]: 6: Hoare triple {690#(= |id2_#in~x| id2_~x)} assume !(0bv32 == ~x); {690#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:48,408 INFO L263 TraceCheckUtils]: 7: Hoare triple {690#(= |id2_#in~x| id2_~x)} call #t~ret1 := id(~bvsub32(~x, 1bv32)); {668#true} is VALID [2020-07-28 19:11:48,409 INFO L280 TraceCheckUtils]: 8: Hoare triple {668#true} ~x := #in~x; {680#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:48,409 INFO L280 TraceCheckUtils]: 9: Hoare triple {680#(= id_~x |id_#in~x|)} assume !(0bv32 == ~x); {680#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:48,409 INFO L263 TraceCheckUtils]: 10: Hoare triple {680#(= id_~x |id_#in~x|)} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {668#true} is VALID [2020-07-28 19:11:48,410 INFO L280 TraceCheckUtils]: 11: Hoare triple {668#true} ~x := #in~x; {690#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:48,411 INFO L280 TraceCheckUtils]: 12: Hoare triple {690#(= |id2_#in~x| id2_~x)} assume 0bv32 == ~x;#res := 0bv32; {712#(= |id2_#in~x| (_ bv0 32))} is VALID [2020-07-28 19:11:48,411 INFO L280 TraceCheckUtils]: 13: Hoare triple {712#(= |id2_#in~x| (_ bv0 32))} assume true; {712#(= |id2_#in~x| (_ bv0 32))} is VALID [2020-07-28 19:11:48,413 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {712#(= |id2_#in~x| (_ bv0 32))} {680#(= id_~x |id_#in~x|)} #36#return; {719#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:48,415 INFO L280 TraceCheckUtils]: 15: Hoare triple {719#(= (_ bv1 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {719#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:48,417 INFO L280 TraceCheckUtils]: 16: Hoare triple {719#(= (_ bv1 32) |id_#in~x|)} assume true; {719#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:48,419 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {719#(= (_ bv1 32) |id_#in~x|)} {690#(= |id2_#in~x| id2_~x)} #32#return; {729#(= (_ bv2 32) |id2_#in~x|)} is VALID [2020-07-28 19:11:48,420 INFO L280 TraceCheckUtils]: 18: Hoare triple {729#(= (_ bv2 32) |id2_#in~x|)} #res := ~bvadd32(1bv32, #t~ret1);havoc #t~ret1; {729#(= (_ bv2 32) |id2_#in~x|)} is VALID [2020-07-28 19:11:48,421 INFO L280 TraceCheckUtils]: 19: Hoare triple {729#(= (_ bv2 32) |id2_#in~x|)} assume true; {729#(= (_ bv2 32) |id2_#in~x|)} is VALID [2020-07-28 19:11:48,426 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {729#(= (_ bv2 32) |id2_#in~x|)} {680#(= id_~x |id_#in~x|)} #36#return; {739#(= (_ bv3 32) |id_#in~x|)} is VALID [2020-07-28 19:11:48,427 INFO L280 TraceCheckUtils]: 21: Hoare triple {739#(= (_ bv3 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {739#(= (_ bv3 32) |id_#in~x|)} is VALID [2020-07-28 19:11:48,428 INFO L280 TraceCheckUtils]: 22: Hoare triple {739#(= (_ bv3 32) |id_#in~x|)} assume true; {739#(= (_ bv3 32) |id_#in~x|)} is VALID [2020-07-28 19:11:48,429 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {739#(= (_ bv3 32) |id_#in~x|)} {673#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} #34#return; {669#false} is VALID [2020-07-28 19:11:48,430 INFO L280 TraceCheckUtils]: 24: Hoare triple {669#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {669#false} is VALID [2020-07-28 19:11:48,430 INFO L280 TraceCheckUtils]: 25: Hoare triple {669#false} assume 5bv32 == main_~result~0; {669#false} is VALID [2020-07-28 19:11:48,430 INFO L280 TraceCheckUtils]: 26: Hoare triple {669#false} assume !false; {669#false} is VALID [2020-07-28 19:11:48,431 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-28 19:11:48,431 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:48,844 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:49,024 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:49,131 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:49,211 INFO L280 TraceCheckUtils]: 26: Hoare triple {669#false} assume !false; {669#false} is VALID [2020-07-28 19:11:49,212 INFO L280 TraceCheckUtils]: 25: Hoare triple {669#false} assume 5bv32 == main_~result~0; {669#false} is VALID [2020-07-28 19:11:49,212 INFO L280 TraceCheckUtils]: 24: Hoare triple {669#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {669#false} is VALID [2020-07-28 19:11:49,230 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {739#(= (_ bv3 32) |id_#in~x|)} {767#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967293 32)) (_ bv0 32)))} #34#return; {669#false} is VALID [2020-07-28 19:11:49,231 INFO L280 TraceCheckUtils]: 22: Hoare triple {739#(= (_ bv3 32) |id_#in~x|)} assume true; {739#(= (_ bv3 32) |id_#in~x|)} is VALID [2020-07-28 19:11:49,231 INFO L280 TraceCheckUtils]: 21: Hoare triple {739#(= (_ bv3 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {739#(= (_ bv3 32) |id_#in~x|)} is VALID [2020-07-28 19:11:49,234 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {729#(= (_ bv2 32) |id2_#in~x|)} {780#(or (not (= (bvadd id_~x (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv3 32) |id_#in~x|))} #36#return; {739#(= (_ bv3 32) |id_#in~x|)} is VALID [2020-07-28 19:11:49,234 INFO L280 TraceCheckUtils]: 19: Hoare triple {729#(= (_ bv2 32) |id2_#in~x|)} assume true; {729#(= (_ bv2 32) |id2_#in~x|)} is VALID [2020-07-28 19:11:49,236 INFO L280 TraceCheckUtils]: 18: Hoare triple {729#(= (_ bv2 32) |id2_#in~x|)} #res := ~bvadd32(1bv32, #t~ret1);havoc #t~ret1; {729#(= (_ bv2 32) |id2_#in~x|)} is VALID [2020-07-28 19:11:49,239 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {719#(= (_ bv1 32) |id_#in~x|)} {793#(or (= (_ bv2 32) |id2_#in~x|) (not (= (_ bv2 32) id2_~x)))} #32#return; {729#(= (_ bv2 32) |id2_#in~x|)} is VALID [2020-07-28 19:11:49,240 INFO L280 TraceCheckUtils]: 16: Hoare triple {719#(= (_ bv1 32) |id_#in~x|)} assume true; {719#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:49,241 INFO L280 TraceCheckUtils]: 15: Hoare triple {719#(= (_ bv1 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {719#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:49,248 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {712#(= |id2_#in~x| (_ bv0 32))} {806#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} #36#return; {719#(= (_ bv1 32) |id_#in~x|)} is VALID [2020-07-28 19:11:49,249 INFO L280 TraceCheckUtils]: 13: Hoare triple {712#(= |id2_#in~x| (_ bv0 32))} assume true; {712#(= |id2_#in~x| (_ bv0 32))} is VALID [2020-07-28 19:11:49,250 INFO L280 TraceCheckUtils]: 12: Hoare triple {816#(or (= |id2_#in~x| (_ bv0 32)) (not (= (_ bv0 32) id2_~x)))} assume 0bv32 == ~x;#res := 0bv32; {712#(= |id2_#in~x| (_ bv0 32))} is VALID [2020-07-28 19:11:49,251 INFO L280 TraceCheckUtils]: 11: Hoare triple {668#true} ~x := #in~x; {816#(or (= |id2_#in~x| (_ bv0 32)) (not (= (_ bv0 32) id2_~x)))} is VALID [2020-07-28 19:11:49,251 INFO L263 TraceCheckUtils]: 10: Hoare triple {806#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {668#true} is VALID [2020-07-28 19:11:49,256 INFO L280 TraceCheckUtils]: 9: Hoare triple {806#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} assume !(0bv32 == ~x); {806#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:49,257 INFO L280 TraceCheckUtils]: 8: Hoare triple {668#true} ~x := #in~x; {806#(or (= (_ bv1 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:49,257 INFO L263 TraceCheckUtils]: 7: Hoare triple {793#(or (= (_ bv2 32) |id2_#in~x|) (not (= (_ bv2 32) id2_~x)))} call #t~ret1 := id(~bvsub32(~x, 1bv32)); {668#true} is VALID [2020-07-28 19:11:49,258 INFO L280 TraceCheckUtils]: 6: Hoare triple {793#(or (= (_ bv2 32) |id2_#in~x|) (not (= (_ bv2 32) id2_~x)))} assume !(0bv32 == ~x); {793#(or (= (_ bv2 32) |id2_#in~x|) (not (= (_ bv2 32) id2_~x)))} is VALID [2020-07-28 19:11:49,258 INFO L280 TraceCheckUtils]: 5: Hoare triple {668#true} ~x := #in~x; {793#(or (= (_ bv2 32) |id2_#in~x|) (not (= (_ bv2 32) id2_~x)))} is VALID [2020-07-28 19:11:49,259 INFO L263 TraceCheckUtils]: 4: Hoare triple {780#(or (not (= (bvadd id_~x (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv3 32) |id_#in~x|))} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {668#true} is VALID [2020-07-28 19:11:49,259 INFO L280 TraceCheckUtils]: 3: Hoare triple {780#(or (not (= (bvadd id_~x (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv3 32) |id_#in~x|))} assume !(0bv32 == ~x); {780#(or (not (= (bvadd id_~x (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv3 32) |id_#in~x|))} is VALID [2020-07-28 19:11:49,259 INFO L280 TraceCheckUtils]: 2: Hoare triple {668#true} ~x := #in~x; {780#(or (not (= (bvadd id_~x (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv3 32) |id_#in~x|))} is VALID [2020-07-28 19:11:49,260 INFO L263 TraceCheckUtils]: 1: Hoare triple {767#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967293 32)) (_ bv0 32)))} call main_#t~ret2 := id(main_~input~0); {668#true} is VALID [2020-07-28 19:11:49,261 INFO L280 TraceCheckUtils]: 0: Hoare triple {668#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {767#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:49,262 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-28 19:11:49,263 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1230944897] [2020-07-28 19:11:49,263 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:49,263 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 11] total 14 [2020-07-28 19:11:49,264 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [139101861] [2020-07-28 19:11:49,265 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 27 [2020-07-28 19:11:49,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:49,269 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-28 19:11:49,331 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:49,331 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-28 19:11:49,332 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:49,332 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-28 19:11:49,332 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2020-07-28 19:11:49,333 INFO L87 Difference]: Start difference. First operand 26 states and 28 transitions. Second operand 14 states. [2020-07-28 19:11:49,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:49,933 INFO L93 Difference]: Finished difference Result 41 states and 43 transitions. [2020-07-28 19:11:49,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-28 19:11:49,933 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 27 [2020-07-28 19:11:49,934 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:49,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-28 19:11:49,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 35 transitions. [2020-07-28 19:11:49,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-28 19:11:49,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 35 transitions. [2020-07-28 19:11:49,939 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 35 transitions. [2020-07-28 19:11:50,000 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:50,003 INFO L225 Difference]: With dead ends: 41 [2020-07-28 19:11:50,003 INFO L226 Difference]: Without dead ends: 37 [2020-07-28 19:11:50,004 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 36 SyntacticMatches, 4 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2020-07-28 19:11:50,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2020-07-28 19:11:50,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 29. [2020-07-28 19:11:50,012 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:50,012 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 29 states. [2020-07-28 19:11:50,012 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 29 states. [2020-07-28 19:11:50,012 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 29 states. [2020-07-28 19:11:50,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:50,017 INFO L93 Difference]: Finished difference Result 37 states and 39 transitions. [2020-07-28 19:11:50,017 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 39 transitions. [2020-07-28 19:11:50,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:50,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:50,018 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 37 states. [2020-07-28 19:11:50,019 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 37 states. [2020-07-28 19:11:50,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:50,022 INFO L93 Difference]: Finished difference Result 37 states and 39 transitions. [2020-07-28 19:11:50,022 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 39 transitions. [2020-07-28 19:11:50,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:50,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:50,023 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:50,023 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:50,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2020-07-28 19:11:50,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 31 transitions. [2020-07-28 19:11:50,025 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 31 transitions. Word has length 27 [2020-07-28 19:11:50,026 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:50,026 INFO L479 AbstractCegarLoop]: Abstraction has 29 states and 31 transitions. [2020-07-28 19:11:50,026 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-28 19:11:50,026 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2020-07-28 19:11:50,027 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-28 19:11:50,027 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:50,028 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:50,240 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 mathsat -unsat_core_generation=3 [2020-07-28 19:11:50,240 INFO L427 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:50,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:50,241 INFO L82 PathProgramCache]: Analyzing trace with hash -2127867459, now seen corresponding path program 2 times [2020-07-28 19:11:50,242 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:50,243 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1886719045] [2020-07-28 19:11:50,243 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:50,277 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 19:11:50,277 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 19:11:50,279 INFO L263 TraceCheckSpWp]: Trace formula consists of 46 conjuncts, 12 conjunts are in the unsatisfiable core [2020-07-28 19:11:50,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 19:11:50,289 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 19:11:50,420 INFO L280 TraceCheckUtils]: 0: Hoare triple {1002#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {1007#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:50,421 INFO L263 TraceCheckUtils]: 1: Hoare triple {1007#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} call main_#t~ret2 := id(main_~input~0); {1002#true} is VALID [2020-07-28 19:11:50,421 INFO L280 TraceCheckUtils]: 2: Hoare triple {1002#true} ~x := #in~x; {1014#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:50,422 INFO L280 TraceCheckUtils]: 3: Hoare triple {1014#(= id_~x |id_#in~x|)} assume !(0bv32 == ~x); {1014#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:50,422 INFO L263 TraceCheckUtils]: 4: Hoare triple {1014#(= id_~x |id_#in~x|)} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {1002#true} is VALID [2020-07-28 19:11:50,423 INFO L280 TraceCheckUtils]: 5: Hoare triple {1002#true} ~x := #in~x; {1024#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:50,423 INFO L280 TraceCheckUtils]: 6: Hoare triple {1024#(= |id2_#in~x| id2_~x)} assume !(0bv32 == ~x); {1024#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:50,424 INFO L263 TraceCheckUtils]: 7: Hoare triple {1024#(= |id2_#in~x| id2_~x)} call #t~ret1 := id(~bvsub32(~x, 1bv32)); {1002#true} is VALID [2020-07-28 19:11:50,424 INFO L280 TraceCheckUtils]: 8: Hoare triple {1002#true} ~x := #in~x; {1014#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:50,425 INFO L280 TraceCheckUtils]: 9: Hoare triple {1014#(= id_~x |id_#in~x|)} assume !(0bv32 == ~x); {1014#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:50,425 INFO L263 TraceCheckUtils]: 10: Hoare triple {1014#(= id_~x |id_#in~x|)} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {1002#true} is VALID [2020-07-28 19:11:50,426 INFO L280 TraceCheckUtils]: 11: Hoare triple {1002#true} ~x := #in~x; {1024#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:50,427 INFO L280 TraceCheckUtils]: 12: Hoare triple {1024#(= |id2_#in~x| id2_~x)} assume !(0bv32 == ~x); {1024#(= |id2_#in~x| id2_~x)} is VALID [2020-07-28 19:11:50,427 INFO L263 TraceCheckUtils]: 13: Hoare triple {1024#(= |id2_#in~x| id2_~x)} call #t~ret1 := id(~bvsub32(~x, 1bv32)); {1002#true} is VALID [2020-07-28 19:11:50,427 INFO L280 TraceCheckUtils]: 14: Hoare triple {1002#true} ~x := #in~x; {1014#(= id_~x |id_#in~x|)} is VALID [2020-07-28 19:11:50,428 INFO L280 TraceCheckUtils]: 15: Hoare triple {1014#(= id_~x |id_#in~x|)} assume 0bv32 == ~x;#res := 0bv32; {1055#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:50,429 INFO L280 TraceCheckUtils]: 16: Hoare triple {1055#(= (_ bv0 32) |id_#in~x|)} assume true; {1055#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:50,430 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1055#(= (_ bv0 32) |id_#in~x|)} {1024#(= |id2_#in~x| id2_~x)} #32#return; {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:50,431 INFO L280 TraceCheckUtils]: 18: Hoare triple {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} #res := ~bvadd32(1bv32, #t~ret1);havoc #t~ret1; {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:50,432 INFO L280 TraceCheckUtils]: 19: Hoare triple {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} assume true; {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:50,433 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} {1014#(= id_~x |id_#in~x|)} #36#return; {1072#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:50,434 INFO L280 TraceCheckUtils]: 21: Hoare triple {1072#(= (_ bv2 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {1072#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:50,434 INFO L280 TraceCheckUtils]: 22: Hoare triple {1072#(= (_ bv2 32) |id_#in~x|)} assume true; {1072#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:50,435 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {1072#(= (_ bv2 32) |id_#in~x|)} {1024#(= |id2_#in~x| id2_~x)} #32#return; {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:50,436 INFO L280 TraceCheckUtils]: 24: Hoare triple {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(1bv32, #t~ret1);havoc #t~ret1; {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:50,437 INFO L280 TraceCheckUtils]: 25: Hoare triple {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} assume true; {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:50,438 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} {1014#(= id_~x |id_#in~x|)} #36#return; {1092#(= (_ bv4 32) |id_#in~x|)} is VALID [2020-07-28 19:11:50,439 INFO L280 TraceCheckUtils]: 27: Hoare triple {1092#(= (_ bv4 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {1092#(= (_ bv4 32) |id_#in~x|)} is VALID [2020-07-28 19:11:50,440 INFO L280 TraceCheckUtils]: 28: Hoare triple {1092#(= (_ bv4 32) |id_#in~x|)} assume true; {1092#(= (_ bv4 32) |id_#in~x|)} is VALID [2020-07-28 19:11:50,441 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1092#(= (_ bv4 32) |id_#in~x|)} {1007#(= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967291 32)) (_ bv0 32))} #34#return; {1003#false} is VALID [2020-07-28 19:11:50,441 INFO L280 TraceCheckUtils]: 30: Hoare triple {1003#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {1003#false} is VALID [2020-07-28 19:11:50,441 INFO L280 TraceCheckUtils]: 31: Hoare triple {1003#false} assume 5bv32 == main_~result~0; {1003#false} is VALID [2020-07-28 19:11:50,442 INFO L280 TraceCheckUtils]: 32: Hoare triple {1003#false} assume !false; {1003#false} is VALID [2020-07-28 19:11:50,443 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2020-07-28 19:11:50,444 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 19:11:50,933 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:51,185 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:51,378 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:51,500 INFO L523 QuantifierPusher]: Distributing 2 disjuncts over 2 conjuncts [2020-07-28 19:11:51,549 INFO L280 TraceCheckUtils]: 32: Hoare triple {1003#false} assume !false; {1003#false} is VALID [2020-07-28 19:11:51,550 INFO L280 TraceCheckUtils]: 31: Hoare triple {1003#false} assume 5bv32 == main_~result~0; {1003#false} is VALID [2020-07-28 19:11:51,550 INFO L280 TraceCheckUtils]: 30: Hoare triple {1003#false} main_~result~0 := main_#t~ret2;havoc main_#t~ret2; {1003#false} is VALID [2020-07-28 19:11:51,551 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {1092#(= (_ bv4 32) |id_#in~x|)} {1120#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967292 32)) (_ bv0 32)))} #34#return; {1003#false} is VALID [2020-07-28 19:11:51,552 INFO L280 TraceCheckUtils]: 28: Hoare triple {1092#(= (_ bv4 32) |id_#in~x|)} assume true; {1092#(= (_ bv4 32) |id_#in~x|)} is VALID [2020-07-28 19:11:51,558 INFO L280 TraceCheckUtils]: 27: Hoare triple {1092#(= (_ bv4 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {1092#(= (_ bv4 32) |id_#in~x|)} is VALID [2020-07-28 19:11:51,559 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} {1133#(or (= (_ bv4 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967292 32)) (_ bv0 32))))} #36#return; {1092#(= (_ bv4 32) |id_#in~x|)} is VALID [2020-07-28 19:11:51,560 INFO L280 TraceCheckUtils]: 25: Hoare triple {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} assume true; {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:51,561 INFO L280 TraceCheckUtils]: 24: Hoare triple {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} #res := ~bvadd32(1bv32, #t~ret1);havoc #t~ret1; {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:51,562 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {1072#(= (_ bv2 32) |id_#in~x|)} {1146#(or (= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32)) (not (= (_ bv3 32) id2_~x)))} #32#return; {1082#(= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:51,563 INFO L280 TraceCheckUtils]: 22: Hoare triple {1072#(= (_ bv2 32) |id_#in~x|)} assume true; {1072#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:51,565 INFO L280 TraceCheckUtils]: 21: Hoare triple {1072#(= (_ bv2 32) |id_#in~x|)} #res := ~bvadd32(1bv32, #t~ret0);havoc #t~ret0; {1072#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:51,566 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} {1159#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} #36#return; {1072#(= (_ bv2 32) |id_#in~x|)} is VALID [2020-07-28 19:11:51,567 INFO L280 TraceCheckUtils]: 19: Hoare triple {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} assume true; {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:51,568 INFO L280 TraceCheckUtils]: 18: Hoare triple {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} #res := ~bvadd32(1bv32, #t~ret1);havoc #t~ret1; {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:51,570 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1055#(= (_ bv0 32) |id_#in~x|)} {1172#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} #32#return; {1062#(= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 19:11:51,572 INFO L280 TraceCheckUtils]: 16: Hoare triple {1055#(= (_ bv0 32) |id_#in~x|)} assume true; {1055#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:51,574 INFO L280 TraceCheckUtils]: 15: Hoare triple {1182#(or (= (_ bv0 32) |id_#in~x|) (not (= id_~x (_ bv0 32))))} assume 0bv32 == ~x;#res := 0bv32; {1055#(= (_ bv0 32) |id_#in~x|)} is VALID [2020-07-28 19:11:51,576 INFO L280 TraceCheckUtils]: 14: Hoare triple {1002#true} ~x := #in~x; {1182#(or (= (_ bv0 32) |id_#in~x|) (not (= id_~x (_ bv0 32))))} is VALID [2020-07-28 19:11:51,576 INFO L263 TraceCheckUtils]: 13: Hoare triple {1172#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} call #t~ret1 := id(~bvsub32(~x, 1bv32)); {1002#true} is VALID [2020-07-28 19:11:51,578 INFO L280 TraceCheckUtils]: 12: Hoare triple {1172#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} assume !(0bv32 == ~x); {1172#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:51,580 INFO L280 TraceCheckUtils]: 11: Hoare triple {1002#true} ~x := #in~x; {1172#(or (= (bvadd |id2_#in~x| (_ bv4294967295 32)) (_ bv0 32)) (not (= (bvadd id2_~x (_ bv4294967295 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:51,580 INFO L263 TraceCheckUtils]: 10: Hoare triple {1159#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {1002#true} is VALID [2020-07-28 19:11:51,582 INFO L280 TraceCheckUtils]: 9: Hoare triple {1159#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} assume !(0bv32 == ~x); {1159#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:51,584 INFO L280 TraceCheckUtils]: 8: Hoare triple {1002#true} ~x := #in~x; {1159#(or (= (_ bv2 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967294 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:51,584 INFO L263 TraceCheckUtils]: 7: Hoare triple {1146#(or (= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32)) (not (= (_ bv3 32) id2_~x)))} call #t~ret1 := id(~bvsub32(~x, 1bv32)); {1002#true} is VALID [2020-07-28 19:11:51,586 INFO L280 TraceCheckUtils]: 6: Hoare triple {1146#(or (= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32)) (not (= (_ bv3 32) id2_~x)))} assume !(0bv32 == ~x); {1146#(or (= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32)) (not (= (_ bv3 32) id2_~x)))} is VALID [2020-07-28 19:11:51,586 INFO L280 TraceCheckUtils]: 5: Hoare triple {1002#true} ~x := #in~x; {1146#(or (= (bvadd |id2_#in~x| (_ bv4294967293 32)) (_ bv0 32)) (not (= (_ bv3 32) id2_~x)))} is VALID [2020-07-28 19:11:51,587 INFO L263 TraceCheckUtils]: 4: Hoare triple {1133#(or (= (_ bv4 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967292 32)) (_ bv0 32))))} call #t~ret0 := id2(~bvsub32(~x, 1bv32)); {1002#true} is VALID [2020-07-28 19:11:51,587 INFO L280 TraceCheckUtils]: 3: Hoare triple {1133#(or (= (_ bv4 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967292 32)) (_ bv0 32))))} assume !(0bv32 == ~x); {1133#(or (= (_ bv4 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967292 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:51,590 INFO L280 TraceCheckUtils]: 2: Hoare triple {1002#true} ~x := #in~x; {1133#(or (= (_ bv4 32) |id_#in~x|) (not (= (bvadd id_~x (_ bv4294967292 32)) (_ bv0 32))))} is VALID [2020-07-28 19:11:51,590 INFO L263 TraceCheckUtils]: 1: Hoare triple {1120#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967292 32)) (_ bv0 32)))} call main_#t~ret2 := id(main_~input~0); {1002#true} is VALID [2020-07-28 19:11:51,591 INFO L280 TraceCheckUtils]: 0: Hoare triple {1002#true} havoc main_#res;havoc main_#t~ret2, main_~input~0, main_~result~0;main_~input~0 := 5bv32; {1120#(not (= (bvadd ULTIMATE.start_main_~input~0 (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2020-07-28 19:11:51,593 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-28 19:11:51,594 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1886719045] [2020-07-28 19:11:51,594 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 19:11:51,594 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 13] total 16 [2020-07-28 19:11:51,594 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1452651808] [2020-07-28 19:11:51,595 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 33 [2020-07-28 19:11:51,603 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 19:11:51,603 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2020-07-28 19:11:51,679 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:51,679 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2020-07-28 19:11:51,679 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 19:11:51,679 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2020-07-28 19:11:51,680 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=200, Unknown=0, NotChecked=0, Total=240 [2020-07-28 19:11:51,680 INFO L87 Difference]: Start difference. First operand 29 states and 31 transitions. Second operand 16 states. [2020-07-28 19:11:52,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:52,395 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2020-07-28 19:11:52,395 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-28 19:11:52,395 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 33 [2020-07-28 19:11:52,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 19:11:52,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-28 19:11:52,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 38 transitions. [2020-07-28 19:11:52,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-28 19:11:52,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 38 transitions. [2020-07-28 19:11:52,400 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 38 transitions. [2020-07-28 19:11:52,464 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 19:11:52,467 INFO L225 Difference]: With dead ends: 47 [2020-07-28 19:11:52,467 INFO L226 Difference]: Without dead ends: 43 [2020-07-28 19:11:52,468 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 46 SyntacticMatches, 4 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=73, Invalid=347, Unknown=0, NotChecked=0, Total=420 [2020-07-28 19:11:52,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2020-07-28 19:11:52,476 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 32. [2020-07-28 19:11:52,477 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 19:11:52,477 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 32 states. [2020-07-28 19:11:52,477 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 32 states. [2020-07-28 19:11:52,479 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 32 states. [2020-07-28 19:11:52,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:52,482 INFO L93 Difference]: Finished difference Result 43 states and 45 transitions. [2020-07-28 19:11:52,482 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 45 transitions. [2020-07-28 19:11:52,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:52,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:52,483 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 43 states. [2020-07-28 19:11:52,483 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 43 states. [2020-07-28 19:11:52,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 19:11:52,486 INFO L93 Difference]: Finished difference Result 43 states and 45 transitions. [2020-07-28 19:11:52,487 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 45 transitions. [2020-07-28 19:11:52,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 19:11:52,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 19:11:52,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 19:11:52,488 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 19:11:52,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2020-07-28 19:11:52,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 34 transitions. [2020-07-28 19:11:52,490 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 34 transitions. Word has length 33 [2020-07-28 19:11:52,490 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 19:11:52,491 INFO L479 AbstractCegarLoop]: Abstraction has 32 states and 34 transitions. [2020-07-28 19:11:52,491 INFO L480 AbstractCegarLoop]: Interpolant automaton has 16 states. [2020-07-28 19:11:52,491 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 34 transitions. [2020-07-28 19:11:52,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2020-07-28 19:11:52,492 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 19:11:52,492 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 19:11:52,698 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 mathsat -unsat_core_generation=3 [2020-07-28 19:11:52,699 INFO L427 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 19:11:52,699 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 19:11:52,700 INFO L82 PathProgramCache]: Analyzing trace with hash -1002836670, now seen corresponding path program 2 times [2020-07-28 19:11:52,701 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 19:11:52,701 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [784336166] [2020-07-28 19:11:52,702 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 7 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with mathsat -unsat_core_generation=3 [2020-07-28 19:11:52,731 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 19:11:52,732 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2020-07-28 19:11:52,732 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:11:52,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 19:11:52,746 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 19:11:52,768 INFO L174 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2020-07-28 19:11:52,769 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 19:11:52,975 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 mathsat -unsat_core_generation=3 [2020-07-28 19:11:52,990 FATAL L488 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call #t~ret2 := id(~input~0); [2020-07-28 19:11:52,992 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportResult(TraceAbstractionStarter.java:693) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportCounterexampleResult(TraceAbstractionStarter.java:626) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportResults(TraceAbstractionStarter.java:525) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterateNew(TraceAbstractionStarter.java:383) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-28 19:11:52,998 INFO L168 Benchmark]: Toolchain (without parser) took 9618.41 ms. Allocated memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: 298.8 MB). Free memory was 952.2 MB in the beginning and 1.1 GB in the end (delta: -172.2 MB). Peak memory consumption was 126.6 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:53,000 INFO L168 Benchmark]: CDTParser took 0.20 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 19:11:53,003 INFO L168 Benchmark]: CACSL2BoogieTranslator took 288.67 ms. Allocated memory is still 1.0 GB. Free memory was 952.2 MB in the beginning and 941.4 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:53,005 INFO L168 Benchmark]: Boogie Procedure Inliner took 92.16 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.8 MB). Free memory was 941.4 MB in the beginning and 1.1 GB in the end (delta: -173.0 MB). Peak memory consumption was 9.6 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:53,006 INFO L168 Benchmark]: Boogie Preprocessor took 19.12 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 19:11:53,008 INFO L168 Benchmark]: RCFGBuilder took 326.44 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 24.5 MB). Peak memory consumption was 24.5 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:53,014 INFO L168 Benchmark]: TraceAbstraction took 8883.82 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 174.1 MB). Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: -34.4 MB). Peak memory consumption was 139.6 MB. Max. memory is 11.5 GB. [2020-07-28 19:11:53,017 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.20 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 288.67 ms. Allocated memory is still 1.0 GB. Free memory was 952.2 MB in the beginning and 941.4 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 92.16 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.8 MB). Free memory was 941.4 MB in the beginning and 1.1 GB in the end (delta: -173.0 MB). Peak memory consumption was 9.6 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 19.12 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 326.44 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 24.5 MB). Peak memory consumption was 24.5 MB. Max. memory is 11.5 GB. * TraceAbstraction took 8883.82 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 174.1 MB). Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: -34.4 MB). Peak memory consumption was 139.6 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:216) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...